首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN23.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制函数jsVal(),其功能是:依次从数组a中取出一个4位数,如果4位数连续大于该4位数以前的5个数且该数是奇数,该数必须能被7整除,则统计出满足此
已知数据文件IN23.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制函数jsVal(),其功能是:依次从数组a中取出一个4位数,如果4位数连续大于该4位数以前的5个数且该数是奇数,该数必须能被7整除,则统计出满足此
admin
2011-10-31
90
问题
已知数据文件IN23.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制函数jsVal(),其功能是:依次从数组a中取出一个4位数,如果4位数连续大于该4位数以前的5个数且该数是奇数,该数必须能被7整除,则统计出满足此条件的数的个数cnt,并把这些4位数按从大到小的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT23.DAT文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
#include 〈stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0;
void jsVal()
{
}
void readDat ( )
{
int i;
FILE *fp;
fp = fopen("IN23.DAT","r");
for(i=0; i〈MAX; i++)
fscanf(fp, "%d", &a
);
fclose (fp);
}
main ( )
{
int i;
readDat ( );
jsVal ( );
printf("满足条件的数=%d\n", cnt);
for(i=0; i〈cnt; i++)
print f ( "%d", b
);
print f ( "\n" );
writeDat ();
}
writeDat ()
{
FILE *fp;
int i;
fp = fopen("OUT23.DAT", "w");
fprintf(fp, "%d\n", cnt);
for(i=0; i〈cnt; i++)
fprintf(fp, "%d\n", b
);
fclose (fp);
}
选项
答案
void jsVal() { int i, j, flag=0; for(i=5;i〈MAX-5;i++) /*如果4位数连续大于该数以前的5个数,则置flag为1,否则取下一个数*/ { for(j=i-5; j〈i; j++) { if(a[i]>a[j]) flag=1; else {flag=0; break; } } if(flag==1&&a[i]%2==1a&a[i]%7==0) /*如果flag为1且该数是奇数,该数能被7整除,则将该数存入数组b中,并统计满足条件的数的个数*/ { b[cnt] =a [i]; cnt++; } } for (i=0; i〈cnt-1; i++) /*将数组b中的数按从大到小的顺序排列*/ for (j=i+1; j〈cnt; j++) if (b[i] 〈b[j] ) { flag=b [i]; b[i]=b[j]; b [j] =flag; } }
解析
根据题意可知,要编制函数的功能有两部分:一是找出满足条件的4位数,二是对找出的数进行从大到小排序。首先利用一个for循环来依次从数组中取得4位数,接着拿当前得到的4位数与该数前面的连续的5个数依次进行比较。如果该数比它前面的5个数都大,则给标志变量flag赋值1,接着对flag进行判断,如果不为1,则该数肯定不符合条件,直接去取下一个数。若flag值为1,再来判断该数是否是奇数,如果恰好该数又能被7整除.则把该数添加到数组b中。这样就可以依次取出符合条件的数。然后利用选择法对数组b中的元素进行从大到小的排序。
转载请注明原文地址:https://kaotiyun.com/show/CCwZ777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
根据数据分布形式,有同步和不同步数据的差别。以下数据形式中哪些数据具有这种性质?
BSP方法中,定义数据类有许多步骤,下列中哪一步不属于它的步骤?
产品/服务和其它支持性资源的生命周期的四个阶段是:需求、计划、度量和控制(简称需求);获取和实现(简称获取);第三阶段是什么;回收或分配?
在数据库设计中,数据库管理员(DBA)、应用系统开发人员和用户之间的主要交流工具是【】模型。
JamesMartin的信息工程方法学提出了一种企业数据处理系统建设的模式,其中包括很多模块Ⅰ.企业模型的建立Ⅱ.特定主题数据库的详细的数据模型设计Ⅲ.过程化语言的使用Ⅳ.信息资源的战略规划以上哪些是最低层的两个模块?
在JamesMartin的企业信息工程技术模型中,位于底层的三个模块要求保持相对的稳定性。以下是该模型中的一些模块Ⅰ.物理数据库的设计Ⅱ.建立主题数据库Ⅲ.分布式分析Ⅳ.建立企业模型Ⅴ.信息资源战略规划
SQL语言的功能是【】数据操纵和数据控制。
从历史的发展看,信息系统的开发方法总括起来可分为自底向上和【】两类。
已知在文件IN13.DAT中存有若干个(个数<200)4位数字的正整数,函数ReadDat()的功能是读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:(1)求出该文件中共有多少个正整数totNum;(2)求这些数右移
已知在文件IN20.DAT中存有若干个(个数<200)4位数字的正整数,函数ReadDat()的功能是读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:(1)求出这文件中共有多少个正整数totNum(2)求出这些数
随机试题
厌食的主要病机为
《刑诉解释》规定,涉外刑事案件审判期间,人民法院应当将相关事项及时通报同级人民政府外事主管部门。并通知有关国家驻华使、领馆。请回答下列问题:关于通知的途径,下列说法正确的是:()
【背景资料】某吹填工程,吹填区总面积2.5km3、吹填总容量2000万m3,分为A、B、C三个区进行吹填。A区吹填面积0.9km3、吹填容量750万m3;B区吹填面积0.75km2、吹填容量550万m3;C区吹填面积0.85km2、吹填容量700
某高层综合楼,占地长200m,宽100m,建筑高度为60m,框架剪力墙结构,地下1层,地上22层。该建筑北面为一栋45m的住宅楼,耐火等级为二级,防火间距为10m。在离建筑外墙距离为5m处设有4m宽的环形消防车道,并在其长边设有20m×10m的登高救援场地
甲公司期末进行财产清查,发现如下情况:(1)现金盈余672元,原因待查。(2)现金盘盈原因无法查明,报经有关部门批准后进行会计处理。(3)盘亏设备一台,原价23700元,已提折旧18960元,原因待查。(4)该设备盘
某资料显示:某国某年年末外债余额为827亿美元,当年偿还外债本息358亿美元,国内生产总值3668亿美元,商品劳务出口收入1118亿美元,年初人口数为12.5亿人,年末人口为12.8亿人。根据上述资料请回答:该国的债务率为()。
甲公司与消费者乙约定,由乙试用甲公司的一种新产品。试用期间届满,乙的下列行为中,不应当视为同意购买该新产品的是()。
怀旧疗法是指通过回顾过去事件、情感及想法,帮助阿尔茨海默病患者增加幸福感、提高生活质量及对现有环境的舒适感知能力。根据上述定义,下列选项中最有可能使用了怀旧疗法的是:
一个罐子里装有黑球和白球,黑、白球数之比为R:1,现有放回地一个接一个地抽球,直到抽到黑球为止,记X为所抽的白球数.这样做了n次以后,我们获得一组样本:X1,X2,…,Xn,基于此,求R的最大似然估汁.
WhenTechnologyDoesEverythingforUs当技术为我们做一切事情Writeanessayof160-200wordsbasedonthedrawing.Inyouressay,youshou
最新回复
(
0
)