首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN53.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数JsVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续大于该4位数以前的5个数且该数是偶数,则统计出满足此条件的数个数cn
已知数据文件IN53.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数JsVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续大于该4位数以前的5个数且该数是偶数,则统计出满足此条件的数个数cn
admin
2009-02-15
28
问题
已知数据文件IN53.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数JsVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续大于该4位数以前的5个数且该数是偶数,则统计出满足此条件的数个数cnt并把这些4位数按从大到小的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到文件OUT53.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("in53.dat","r");
for(i=0;i<MAX;i++)
fscanf(fp,"%d",&a
);
fclose(fp);
}
void main()
{
int i;
readDat();
jsVal();
print f ( "满足条件的数=%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==0) break; /*如果flag为0, 则退出循环*/ } if (flag==1) { b[cnt] =a[i]; /*把满足条件的数存入数组b中*/ 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; } }
解析
本题考查的知识点如下:
(1)使用循环对数组的元素进行比较和排序。
(2)强行退出循环结构。
在本题中,数组b中的数据要满足的条件有两个。在这里,不再使用判断结构中条件的布尔运算,而采用一种新的方法——设置标志变量flag。当数据不满足某一条件时,如数据不是偶数,将flag设置为0:当flag等于0时,可直接退出本层循环结构,进入外层的循环中。否则,根据题意要求,将数据存入数组b中。对数组b中的数据排序,使用“选择排序法”。
转载请注明原文地址:https://jikaoti.com/ti/jPh7FFFM
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
阅读以下的配置信息,解释(7)处的命令,将答案填写在相应的位置。Switch#cofingtSwitch(cofing)#nterfacefo/5//进入接口5配置模式Switch(coling-if)#switc
阅读以下的配置信息,将(1)~(4)处空缺的内容填写相应的位置。SW1>enable//进入特权模式SW1#vlandatabase//进入vlan配置子模式SW1(lan)#vtpserver//
A、 B、 C、 D、 B宽带城域网的网络平台的层次结构可分为核心交换层、边缘汇聚层、用户接入层。其中,核心交换层主要承担高速数据交换的功能;边缘汇聚层用于路由与流量的汇聚;而用户接入层主要承担用户接入与本地
A、 B、 C、 D、 D在Internet中,路由器采用表驱动的路由选择算法,路由表中存储了可能的目的地址与如何到达目的地址的信息,从路由选择算法对网络拓扑和通信量变化的自适应能力的角度划分,可以分为静态路
下列关于综合布线系统设计的描述中,错误的是______。
A、 B、 C、 D、 C集群技术是向一组独立的计算机提供高速通信线路,组成一个共享数据存储空间的服务系统,提高了系统的数据处理能力。如果一台主机出现故障,它所运行的程序将立即转移到其他主机,所以集群技术可大
A、 B、 C、 D、 AP0s是一种高速、先进的广域网连接技术,在路由器上插入一块P0s模块,路由器就可以提供P0s接口。目前,POS可以提供155Mbit/s、622Mbit/s、2.5Gbit/s
用管程解决进程间同步关系时,在管程内使用的对象是()。
某信息系统具有安全内核,其安全等级至少是()。
随机试题
为保证焊透,多层焊的第一层焊道应采用直径较大的焊条进行焊接。
A.从头走足B.从足走腹C.从手走头D.从胸走手
A.二甲双胍B.罗格列酮C.格列齐特D.阿卡波糖E.瑞格列奈男性,35岁。肥胖,空腹血糖10.4mmol/L。药物治疗首选
下列哪项符合"下焦热盛型"尿血的主症
脉内之气是
关于葡萄胎患者的处理方法,下列说法正确的是
某外商投资企业,业务收支以美元为主,也有极少量的人民币收支,根据《中华人民共和国会计法》的规定,下列说法中正确的是()。
下列行为属于金融诈骗的是()。
费尔巴哈说:“人类的各个时期仅仅由于宗教的变迁而彼此区别开来”,下列说法符合唯物史观的是
IsCollegeReallyWorththeMoney?TheRealWorldEsteGriffithhaditallfiguredout.WhenshegraduatedfromtheUn
最新回复
(
0
)