首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件INl5.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制函数jsVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续小于该4位数以后的5个数且该数是偶数,则统计出满足此条件的数的个数cn
已知数据文件INl5.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制函数jsVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续小于该4位数以后的5个数且该数是偶数,则统计出满足此条件的数的个数cn
admin
2009-02-19
46
问题
已知数据文件INl5.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制函数jsVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续小于该4位数以后的5个数且该数是偶数,则统计出满足此条件的数的个数cnt,并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT15.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("IN15.DAT", "r");
for(i = 0; i〈 MAX; i++)
fscanf(fp, "%d", &a
);
fclose(fp);
}
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("OUT15.DAT", "w");
fprintf(fp, "%d\n", cnt);
for(i = 0; i〈 cnt; i++)
fprintf(fp, "%dkn", b
);
fclose(fp);
}
选项
答案
void jsVal() { int i, j, flag=0; for(i=0; i〈MAX-5; i++) /*如果该4位数连续小于该4位数以后的5个数*/ { for(j=i+1; j〈=i+5; j++) { if(a[i]〈a[j]) flag=1; /*则置flag为1*/ else flag=0; /*否则置flag为0*/ if(a[i]%2!=0) /*如果该数是奇数则置flag为0*/ flag=0; if(flag==0) /*如果flag为0,则退出循环*/ break; } if(flag==1) /*如果flag为1,则将该数存入数组b中,并统计满足条件的数的个数*/ { b[cnt]=a[i]; 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; } }
解析
根据题意可知,要编制函数的功能有两部分:一是找出满足条件的4位数;二是对找出的数进行从小到大排序。首先利用一个for循环来依次从数组中取得4位数,接着用当前得到的4位数与该数后面的5个数(可以用循环次数来控制)依次进行比较,如果该数比它后面的5个数都小,则给标志变量flag赋值1。接着对flag进行判断,如果不为1,则该数肯定不符合条件,直接去取下一个数:若flag值为1,再来判断该数是否是偶数,如果恰好该数又是偶数,则把该数加入到数组b中。这样就可以依次取出符合条件的数,然后利用选择法对b数组中的元素进行从小到大的排序。
转载请注明原文地址:https://kaotiyun.com/show/SdcZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
下面的说法中,正确的一条是( )。
一台多媒体PC机具有图像输入功能,为输入照片图像所采用的外部设备是( )。
视频信息彩数字形式表示后有许多特点,下面的叙述中不正确的是( )。
在开放系统互连(OSI)模型中,计算机接收数据的入口和出口是( )。
通常情况下,一个外中断服务程序的第一条指令是STI,其目的是______。
某食堂的售饭系统由一个后台数据库系统及若干个前台刷卡机组成,其基本功能具体描述如下:a、刷卡机的硬件组成中,除了必须的最小硬件系统外,还需要IC卡读写模块、8段LED组成的显示模块、键盘模块、蜂鸣器模块、RS一485通信模块等。b、客户
老年人监护系统由一个社区监控中心及若干便携式监护仪组成,便携式监护仪可由老年人随身携带,时刻监测老年人的脉象。便携式监护仪的基本功能要求如下:a、通过在老年人手腕上佩戴的压电传感器检测脉搏信号,并根据脉搏信号来测算心脏功能是否异常,若异常,则自动向社区监
数字图像的像素深度指每个像素用多少个二进位来表示。它决定了图像中可能出现的不同颜色(或不同亮度)的最大数目。像素深度是8位的灰度图像,其不同的亮度等级总数为__________【43】种。最多可以有大约1600万种颜色的图像称为真彩色图像,真彩色图像的像
iOS的系统架构分为四个层次,从底层到高层依次是:核心操作系统层、核心服务层、媒体层和【69】层。所有iOS应用程序都由面向对象的程序设计语言【70】驱动。
分布式数据库系统是用通信网络连接起来的节点集合,每个节点是一个独立的【】节点。
随机试题
通过()方法,可以减小仪器误差。
下列关于自理报关企业的叙述不正确的是()
社会主义与共产主义道德是()
酮体的叙述错误的是
患者,男,72岁,4h前因情绪激动突发极度气急,咳嗽,咳粉红色泡沫样痰,出冷汗,焦虑不安。既往COPD史20年,高血压病25年。查体:T36.5℃,P120次/分,R34次/分,血压220/130mmHg,神志模糊,端坐位,口唇发绀。无颈静脉怒张,双
银行从业人员与银行内其他部门人员之间的下列行为中,违反了《银行业从业人员职业操守》中“信息保密”原则的是()。
投资者风险回避态度和证券市场线斜率的关系有()。
限制、无行为能力人所立的遗嘱无效。()
根据下列资料,回答下列问题。2017年上半年,全国居民人均可支配收入12932元,比上年同期名义增长8.8%。其中,城镇居民人均可支配收入18322元,增长8.1%(以下如无特别说明,均为同比名义增长);农村居民人均可支配收入6562元,增长8.
读世界大洲、大洋分布图(图4),回答问题。 地球表面最北部的大洋是____。2012年举办奥运会的城市伦敦位于____洲。在伦敦观看奥运会后,若到伦敦附近国家游览,在哪些国家能看到下列景观:
最新回复
(
0
)