首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件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
52
问题
已知数据文件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://www.kaotiyun.com/show/SdcZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
数字彩色图像的数据量很大,分辨率为1024×768的1600万种颜色的彩色图像,若将其数据量压缩到原来的,则一幅图像的数据量大约是【】MB(保留2位小数)。
假设一个单堞硬盘两面各有10000个磁道,平均每个磁道有2000个扇区,每个扇区的容量为512字节,则该磁盘的存储容量大约为
下列关于PC机硬件的叙述中,错误的是:
由于新的外设接口(如USB、IEEE—1394)和新型外围设备不断出现,因而对驱动程序的开发提出了新的挑战。为此微软公司提出一种新的驱动程序模式是【】。
嵌入式系统硬件的核心是CPU。下面关于嵌入式系统CPU特点的叙述中,错误的是()
以下关于嵌入式处理器的说法正确的是()。
Linux内核主要是由5个子系统组成的,如下图所示,其中的A是【73】子系统,B是【74】子系统。
下面有关GNU工具套件的描述语句中,不恰当的是()。
iOS的系统架构分为四个层次,从底层到高层依次是:核心操作系统层、核心服务层、媒体层和【69】层。所有iOS应用程序都由面向对象的程序设计语言【70】驱动。
在μC/OS–II操作系统中,宏【73】()使系统进入临界状态,其主要操作是关闭所有可屏蔽中断,避免其他任务或中断服务程序打断临界区代码的执行。当需要实现对不可分割数据的原子访问时,μC/OS–II也可以调用函数void【74】(void)锁定任务调度
随机试题
吸人气雾剂的微粒大小的最佳范围是
根尖孔形成后,在一生中不断形成的牙本质受刺激后的成牙本质细胞分泌基质矿化形成的牙本质
在开采容易自燃和自燃煤层时,采煤工作面回采结束后,必须在()内进行永久封闭。
合同可以存在于()。
股票的供求关系是股票价格的基石。()
中国馆《清明上河图》数字画笔“唤醒”北宋街市疏林薄雾中,两个脚夫赶着驮炭的毛驴,缓缓走向城门;此时,虹桥上已是一片喧杂,来来往往的行人中,有做生意的商贾,有看街景的士绅,有骑马出行的官宦……上千年前北宋画家张择端笔下的《清明上河图》,留住了中国城市的一段记
打开Windows任务管理器可使用组合键“()”。
根据以下资料回答101-105题2008年全省对外贸易增势呈高开低走态势。全年实现进出口总值1581.4亿美元,增长29.0%,较年初增幅回落10.6个百分点,比上年增幅略高0.3个百分点。其中,实现出口931.7亿美元,增长23.8%;进口649.7亿
班主任老师对一个学习优秀的学生说,你之所以取得这样好的成绩,主要是因为我教学有方。以下哪项如果为真,将最有力地反驳老师的说法?
判断下列符合普通话规范的说法她脸上总是红扑扑的。
最新回复
(
0
)