首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN53.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数isVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续大于该4位数以前的5个数且该数是偶数,则统计出满足此条件的数个数cn
已知数据文件IN53.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数isVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续大于该4位数以前的5个数且该数是偶数,则统计出满足此条件的数个数cn
admin
2009-02-24
55
问题
已知数据文件IN53.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数isVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续大于该4位数以前的5个数且该数是偶数,则统计出满足此条件的数个数cnt并把这些4位数按从大到小的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到文件OUT53.DAT中。
请勿改动主函数main()、读函数readDat()和写函数wiltedat()的内容。
试题程序:
#include<stdio.h>
#define MAX 200
int a[MAX],b[MAX],cnt=0;
void jsVal()
{
}
void readDat() {
{
int i;
FILE *fp;
fp=fopen("in53.dat","r");
for(i=0;i<MAX;i++)
fscanf(fp,"%d",&a
);
fclose(fp);
}
void 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("out53.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; for (i=5; i<MAX; i++) { for(j=i-5;j<i;j++) { if(a[i]>a[j]) /*如果该4位数连续大于它以前的5个数*/ flag=l; /*则置flag为1*/ else flag=0; /*否则置flag为0*/ if (a[i]%2!=0) /*如果该四位数为奇数*/ flag=0; /*则置flag为0*/ if (flag==O) break; /*如果flag为0, 则退出循环*/ } if (flag==1) { b[cnt] =a[i]; /*把满足条件的数存入数组b中*/ cnt++; /*统计满足条件的数的个数*/ } } for (i=0; i<cnt-1; i++) /*将数组b中的数按从大到波折顺序排列*/ for ( j =i+l; j <cnt; j ++) if(b[i]<b[j] ) { flag=b[i]; b[i]=b[j]; b[j]=flag; } }
解析
本题考查的知识点如下:
(1)使用循环对数组的元素进行比较和排序。
(2)强行退出循环结构。
在本题中,数组b中的数据要满足的条件有两个。在这里,不再使用判断结构中条件的布尔运算,而采用一种新的方法——设置标志变量flag。当数据不满足某一条件时,如数据不是偶数,将flag设置为0:当flag等于0时,可直接退出本层循环结构,进入外层的循环中。否则,根据题意要求,将数据存入数组b中。对数组b中的数据排序,使用“选择排序法”。
转载请注明原文地址:https://kaotiyun.com/show/nRYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。下列不稳定的排序方法是
下列关于函数依赖的叙述中,哪一条是不正确的?
Oracle针对Internet/Intranet的产品是
存储管理的目的是实现
下列______不是由于关系模式设计不当所引起的问题。
第(38)至(41)题基于"学生-选课-课程"数据库中的三个关系:S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER)若要求查找选修"数据库技术"这门课程的学生姓名和成绩,将使用关系
线性表L=(a1,a2,…,an)用数组表示,假定删除表中任何一元素的概率相同,则删除一个元素平均需要移动元素的个数为【】。
下列对分页和分段系统特点的区别不正确的是()。
下列对进程间相互通信的描述错误的是
在公钥密码体制中,用于加密的密钥为
随机试题
人民法院受理债务人甲公司破产申请时,乙公司依照其与甲公司之间的买卖合同已向买受人甲公司发运了该合同项下的货物,但甲公司尚未支付价款。乙公司得知甲公司破产申请被受理后,立即通过传真向甲公司的管理人要求取回在运途中的货物。管理人收到乙公司传真后不久,即收到了乙
动脉粥样硬化病变中的脂质来源于:
下述指标中对渗出液诊断最有帮助的是()。
拆除无固定支撑架的大模板时,可采取将模板直接靠在墙体结构上作为临时固定措施。()
凡带有支柱或框架式钢结构的高炉,其钢结构与炉壳之间采取的连接方式是()。
如果企业的资金来源全部为自有资金,且没有优先股存在,则企业的财务杠杆系数()。
企业在分析投资方案时,有关所得税率的数据应根据()来确定。
一般资料:求助者,男,33岁,公司职员。案例介绍:今年春节前求助者的父亲在老家突发心脏病去世,求助者将母亲接来同住。最初的一个多月的时间里,妻子和母亲还能够和平相处,但随着时间的推移,双方的矛盾逐渐显现出来;从日常的饮食起居到孩子的培养教育都能成
办公室按零售价花费360元购买了一批笔记本。如果按批发价购买,则每个笔记本能便宜3元,且恰好能多购买20个。则该笔记本零售价为()元。
I’msureyoursuggestionwill______theproblem.
最新回复
(
0
)