首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件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
72
问题
已知数据文件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://www.kaotiyun.com/show/nRYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
从用户观点看,引入文件系统的目的是
表达实体类型及实体之间联系用的数据结构是
在一棵二叉树的先序遍历、中序遍历、后序遍历所产生的序列中,所有叶节点的先后顺序
在关系数据库中,下列说法不正确的是
在关系数据库中,表(table)是三级模式结构中的
某一磁盘请求序列(磁道号):1225711212,按照最短寻道时间优先磁盘调度算法对磁盘进行请求服务,设当前磁头在4道上,则磁臂总移动道数为【】。
下面所列的条目:I.语法检查II.语义检查III.用户存取权限检查Ⅳ.数据完整性检查当用户发出插入数据库数据的命令时,数据库管理系统需要进行的检查是()。
关于并行数据库系统的叙述中,错误的是
下列关于日志备份的说法中,错误的是()
随机试题
人民群众是历史创造者的原理的理论前提是()。
A.杂醇油B.甲醇C.乙醇D.氰化物E.甲醛含量高时可以造成饮用者头痛和大醉的酒类成分是
C1D因子
A.“二杠”B.“大挺”C.“门庄”D.“三岔”E.“莲花”花鹿茸具1个分支者习称
采用低应变反射波法检测桩身完整性,锤击桩头输入初始应力波脉冲,当波形一定时我们需要关注的主要问题是()。
砌筑地面以下砌体时,应使用的砂浆是()。
项目风险就是项目生命期中的风险,即可能导致项目损失的不确定性。它会对项目目标产生诸多影响,在项目里我们只考虑________。
乔姆斯基认为语言是某种天赋,他提出了语言学理论。(淄博文昌湖)()
已知X1,…,Xn是来自总体X容量为n的简单随机样本,其均值和方差分别为与S2.如果总体X服从正态分布N(0,σ2),试证明:协方差Cov(X1,S2)=0.
设求∫02πf(x-π)dx.
最新回复
(
0
)