首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件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
66
问题
已知数据文件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全国计算机三级
相关试题推荐
鼠标器、打印机和扫描仪等设备都有一个重要的性能指标,即分辨率,它用每英寸的像素数目来描述,通常用三个英文字母【 】来表示。
当8255A的端口A和端口B都工作在方式1输入时,端口 C的PC7和PC6( )。
传输数字音频、视频数据需要网络提供较大的通信带宽。对于分辨率为640×480的真彩色图像,如果每个像素用24bit表示,并以每一秒钟25帧动态显示,则需要网络提供的通信带宽应达到( )。
将目标程序中的逻辑地址转换成主存空间的物理地址称为( )。
小端模式下如果从0x30000000到0x30000007存放的一个双字为0x1234567890ABCDEF,且R1=0x30000000,则加载指令LDRBR0,[R1]执行后,R0=【49】、LDRHR2,[R1,#2]执行后,R2=【50】。
苹果公司的嵌入式移动电子产品风靡全球,iOS操作系统也随之为大众所熟悉。根据iOS的发展历史,它的前身是()。
按照嵌入式系统的技术复杂程度进行分类,可以把嵌入式系统分为低端系统、中端系统和高端系统三大类。下面关于高端嵌入式系统特性的叙述中错误的是()。
根据操作系统映像存放位置的不同,嵌入式操作系统的引导加载可以采用不同方式。既可以在ROM中直接运行操作系统代码,也可以把存放在ROM中的操作系统和应用程序映像拷贝到【67】存储器中并跳转到其中的操作系统入口函数处继续执行,甚至从外存引导加载操作系统和应用程
多个事务在某个调度下的执行是正确的,是能保证数据库一致性的,当且仅当该调度是()。
在数据库的外模式、模式和内模式三级模式结构中,[]之间的映像实现了数据的物理独立性。
随机试题
瘀血腰痛的治法是()。
“备案号”栏应填()。“集装箱号”栏应填()。
品德最显著的特性是()。
()作为一种最古老的传播媒体,具有简单、快捷、通俗、反馈快等优越特性。
A、 B、 C、 D、 B将原数列进行通分:原数列变形为:分子:1,4,9,16,构成平方数列,下一项是25。结论:()中应该填入,选择B。
下列各项哪些不符合缺铁性贫血
某学期学校新开设4门课程:“《诗经》鉴赏”“老子研究”“唐诗鉴赏”“宋词选读”。李晓明、陈文静、赵珊珊和庄志达4人各选修了其中一门课程。已知:
下列排序方法中,最坏情况下比较次数最少的是()。
A、2015B、2047C、2050D、2147D
Ifwecanmakegooduseoftime,______(我们就可以期望得到好的成效并获得丰厚利润).
最新回复
(
0
)