首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件INl5.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制函数jsVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续小于该4位数以后的5个数且该数是偶数,则统计出满足此条件的数的个数cn
已知数据文件INl5.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制函数jsVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续小于该4位数以后的5个数且该数是偶数,则统计出满足此条件的数的个数cn
admin
2009-02-19
39
问题
已知数据文件INl5.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制函数jsVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续小于该4位数以后的5个数且该数是偶数,则统计出满足此条件的数的个数cnt,并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT15.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("IN15.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++)
printf("%d ", b
);
printf("\n");
writeDat();
}
writeDat()
{
FILE *fp;
int i;
fp = fopen("OUT15.DAT", "w");
fprintf(fp, "%d\n", cnt);
for(i = 0; i〈 cnt; i++)
fprintf(fp, "%dkn", b
);
fclose(fp);
}
选项
答案
void jsVal() { int i, j, flag=0; for(i=0; i〈MAX-5; i++) /*如果该4位数连续小于该4位数以后的5个数*/ { for(j=i+1; j〈=i+5; j++) { if(a[i]〈a[j]) flag=1; /*则置flag为1*/ else flag=0; /*否则置flag为0*/ if(a[i]%2!=0) /*如果该数是奇数则置flag为0*/ flag=0; if(flag==0) /*如果flag为0,则退出循环*/ break; } if(flag==1) /*如果flag为1,则将该数存入数组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,再来判断该数是否是偶数,如果恰好该数又是偶数,则把该数加入到数组b中。这样就可以依次取出符合条件的数,然后利用选择法对b数组中的元素进行从小到大的排序。
转载请注明原文地址:https://kaotiyun.com/show/SdcZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
下面是关于Pentium微处理器工作模式的叙述,其中错误的是
在PC上播放数字视频时,需要使用所谓的“媒体播放器”软件,下面的软件中,不能播放数字视频的是______。A)WindowsMediaPlayerB)QuickTimeC)AdobeReaderD)RealPlayer
CPUf句存储器写入一个操作数时,在执行周期内,首先发出的信号是( )。
RS-232C标准在OSI参考模型中属于( )。
甲、乙两台PC机通过其串行接口进行全双工通信时,若使用发送数据信号TxD和接收数据信号PxD交换信息,则下面关于两机串口信号线连接的叙述中,正确的是( )
下列()组设备只能输入相对坐标。
Windows98是一个( )操作系统。
操作系统是管理计算机软硬件资源、控制程序运行、改善人机界面和为应用软件提供支持的一种系统软件。下面是有关操作系统的一些叙述: ①从1946年的ENIAC计算机开始,计算机都必须配有操作系统才能工作 ②操作系统与计算机硬件无关,任何计算机
下列四类网络产品中,哪一类既具有中继功能,又具有桥接功能的是( )。
以下关于ARM处理器说法错误的是()。
随机试题
男,65岁。间断咳嗽、咳痰10年,多于秋冬季发作,近3年来活动耐力逐渐下降,2天来再次出现咳嗽,平地行走即感气短,既往高血压病史10余年,吸烟30余年,每日1包,查体:血压150/90mmHg,口唇略发绀,颈静脉怒张,双侧肺下界位于肩胛线第11肋间,叩诊呈
气分证之发热不恶寒,反恶热的机理是
根据刑法的有关规定,下列哪些情形不得适用缓刑的有()。
从银行提取现金备发工资的业务,应填制的记账凭证是()。
空军飞行员李海,2014年在执行试飞任务中牺牲,被评定为烈士。李海父母亲年事已高,收入低于当地居民平均生活水平。根据《烈士褒扬条例》和《军人抚恤优待条例》,李海的父母应当享受的抚恤待遇有()
我国农业人口占绝大多数,人均耕地面积日益锐减,人地矛盾也日益突出,为使我国农业走上可持续发展道路,我们应采取的措施是:
给定资料1.2017年5月12日,W集团董事长王先生发表题为《努力践行文化自信》的主旨演讲,以下是内容节选:W集团长期坚持对员工进行中国优秀传统文化教育,逐步建立员工对中国文化的自信。我们是全国第一家集体学习《论语》的企业。2005年我
在学生表中要查找年龄大于18岁的男学生,所进行的操作属于关系运算中的
Itwassnowingwholenightthrough.WhenIgotup,I【M1】______foundthattheroadwascoveredwithsnow.Everything
Ifadultslikedtoreadbooksthatwereexceedinglydifficult,they’dallbereadingProust.Mostdon’t.Sowhy,readingex
最新回复
(
0
)