首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件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
86
问题
已知数据文件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全国计算机三级
相关试题推荐
设有二维数组A(1…12,1…10),其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址为100。则元素A(5,5)的存储地址为()。
将E-R图中的实体和联系转换为关系模型中的关系,这是数据库设计过程中【】设计阶段的任务。
设有属性A,B,C,D,以下表示中不是关系的是
下面列出的条目中,哪一条是数据仓库的基本特征?Ⅰ.数据仓库是面向主题的Ⅱ.数据仓库的数据是集成的Ⅲ.数据仓库的数据是相对稳定的Ⅳ.数据仓库的数据是反映历史变化的
在DBMS中建立DBMS的系统缓冲区,系统工作区,打开数据字典的工作在【】程序模块中完成。
对于学生信息表:student(sno,sname,sex,age,dept),如果把学生"张明"的姓名改为"张岩",则正确的语句是
数据库系统的三级模式结构中,描述数据库中数据的物理结构和存储方式的是【】。
下列关于异步传输模式ATM技术的叙述中,哪一条是不正确的?
在数据库技术中,网状数据模型的典型代表是【】系统,这是20世纪70年代数据库语言研究会下属的数据库任务组提出的一个系统方案。
下面列出的数据管理技术发展的三个阶段中,哪个(些)阶段有专门的软件对数据进行管理?Ⅰ.人工管理阶段Ⅱ.文件系统阶段Ⅲ.数据库阶段
随机试题
()决定了该时期商品和劳务的产出水平。
盲肠癌病人最少见的合并症是
氟离子选择电极法中,使用的离子强度缓冲液通常含有醋酸盐,其pH为
以关节活动弹响(骨摩擦音)为特征性体征的风湿病是
依法治国是我国宪法确定的治国方略,是社会主义法治理念的核心内容。关于依法治国,下列哪一选项是不正确的?(2012年试卷一第20题)
以下哪项指标并非建筑石膏的技术要求?
某印染厂上报的统计资料显示新鲜工业用水0.8万t,但其水费单显示新鲜工业用水1万t,无监测排水流量,排污系数取0.7,其工业废水排放()。
查询职工实发工资的正确命令是查询有10名以上(含10名)职工的部门信息(部门名和职工人数),并按职工人数降序排序。正确的命令是
HOME-THENEWWORKPLACEOneofthescourgesofthemodernworldisthelengthoftimewetakecommutingtoandfromwork.In
PatriciaPanianeverwantedtobeanationalpublicfigure.Allshewantedtobewasamotherandhomemaker.Butherlifewastu
最新回复
(
0
)