首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件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-19
54
问题
已知数据文件IN53.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是;依次从数组a中取出一个4位数,如果该4位数连续大于该4位数以前的5个数且该数是偶数,则统计出满足此条件的数个数cnt并把这些4位数按从大到小的顺序存入数组b中,最后调用写函数wilteDat()把结果cnt及数组b中符合条件的4位数输出到文件OUT53.DAT中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:Cnto
请勿改动主函数main()、读函数readDat()和写函数wiltedat()的内容。
试题程序:
#include
#define MAX 200
int a[MAX],b[MAXl,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 { for(j=i-5;j<i;j++) { if(a[i]>a[j]) /*如果该4位数连续大于它以前的5个数*/ flag=1; /*则置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<ont;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/wZcZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
程序在数据段中定义数据如下: NUMS DB 20 DB 53 DB ’JACK’ 则对下列指令的描述符中正确的是( )。 Ⅰ.LEA DX, NUMS
通过DMA方式传送一个数据块的过程中,会涉及下面几个操作:Ⅰ.DMAC向CPU发申请总线的请求信号HRQⅡ.I/O设备向DMAC发DMA请求信号,要求进行数据传送Ⅲ.CPU在完成当前总线周期后暂停操作,向DMAC发响应DMA请
下面是有关超文本的叙述,其中错误的是
下述程序功能为,将首地址为FIRST的字符串送到首地址为SECOND 的内存区;请用一条指令填空。 CLD LEA SI,FIRST LEA DI, ES:SECOND MOV CX,10 _______
μC/OS-II操作系统启动的过程中,Bootloader执行完毕后,调用应用程序主文件(通常是main.c)里的main()函数。main()函数在执行过程中,除了用户函数和硬件初始化函数之外,需要执行以下三个主要的μC/OS-II函数:Ⅰ.OSSta
μC/OS—Ⅱ的每个任务都处在休眠态、就绪态、【71】态、挂起态和被中断态5种状态之一的状态下。其中,在就绪态中μC/OS—Ⅱ就绪表为每一个任务提供一个二进制位,登记该任务是否就绪,就绪时对应位的值为【72】
8段共阴极LED数码管示意如下图所示,为显示英文字母b,其编码(按dpgfedcba的顺序排列)是()。
嵌入式系统使用的存储器有多种类型,按照其存取特性可分为随机存取存储器和只读存储器,它们通常都用三个大写英文字母表示,即【57】和【58】。
数字图像的像素深度指每个像素用多少个二进位来表示。它决定了图像中可能出现的不同颜色(或不同亮度)的最大数目。像素深度是8位的灰度图像,其不同的亮度等级总数为【43】_______种。最多可以有大约1600万种颜色的图像称为真彩色图像,真彩色图像的像素深度为
随机试题
蛋白质变性时受理化因素破坏的化学键是
T管拔出指证是()
社区获得性肺炎常见的病原菌包括
久病畏寒主要与下列哪种因素有关
长期眩晕头痛,突然昏倒半身不遂,此属温病后期,口干咽燥舌红少津,手足蠕动,多属
安全生产管理的目标是减少、控制危害和事故,尽量避免生产过程中由于()所造成的人身伤害、财产损失及其他损失。
下列项目中,应在企业资产负债表“存货”项目中列示的有()。
某公司A和B两个部门,公司要求的投资报酬率为11%。有关数据如下表所示(单位:元): 要求:如果采用剩余收益作为部门业绩评价标准,B部门经理是否会放弃前述的资产?
设有下列的程序段:charstr[]="Hello";char*ptr;ptr=str;执行上面的程序段后,*(ptr+5)的值为______。
Howarethedifferentsubjectsinthelibraryorganized?
最新回复
(
0
)