首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件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-15
64
问题
已知数据文件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 ( );
j sVal ( );
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, "%d\n", b
fclose (fp);
}
选项
答案
void jsVal() { int i, j, flag=0; for (i=0;i<MAX-5; i++) /*如果该4位数连续小于该4位数以后的5个数*/ { for (j =i+1; 3<=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位数;二是对找出的数进行从小到大排序。首先利用一个幻r循环来依次从数组中取得4位数,接着用当前得到的4位数与该数后面的5个数(可以用循环次数来控制)依次进行比较,如果该数比它后面的5个数都小,则给标志变量flag赋值1。接着对flag进行判断,如果不为1,则该数肯定不符合条件,直接去取下一个数;若nag值为1,再来判断该数是否是偶数,如果恰好该数又是偶数,则把该数加入到数组b中。这样就可以依次取出符合条件的数,然后利用选择法对b数组中的元素进行从小到大的排序。
转载请注明原文地址:https://kaotiyun.com/show/LMfZ777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
下列关于常见网络版防病毒系统的描述中,错误的是______。
交换机的结构主要存在四种交换结构,即软件执行交换结构、矩阵交换结构、总线交换结构和______。
以下关于局域网交换机技术特描述中,______是错误的。
下列关于工作区子系统适配器的描述中,错误的是______。
A、 B、 C、 D、 C网络版防病毒系统通常包括系统中心、服务器端、客户端和管理控制台。系统中心是网络防病毒系统信息管理和病毒防护的自动控制核心,其他子系统只有在系统中心工作后,才可实现各自的网络防护功能,
A、 B、 C、 D、 A木马通常寄生在用户的计算机系统中,盗用用户信息,并通过网络发送给黑客。与病毒不同之处在于,木马是没有自我复制功能的恶意程序。
A、 B、 C、 D、 D属于路由器关键技术的指标是吞吐量、背板能力、丢包率、延时与时延抖动、突发处理能力、路由表容量、服务质量、网管能力、可靠性和可用性。
A、 B、 C、 D、 A在网络需求详细分析主要包括总体需求分析、综合布线需求分析、网络可用性与可靠性分析、网络安全性分析和网络工程造价评估,所以选A。
A、 B、 C、 D、 B计算机网络拓扑是通过网中结点与通信线路之间的几何关系表示网络结构。拓扑设计是建设计算机网络的重要一步,也是实觋各种网络协议的基础,它对网络性能、系统可靠性与通信费用都有重大影响。
决策支持系统、管理信息系统、办公信息系统的驱动模式分别是
随机试题
女性,58岁,独居,生有煤炉。邻居发现其神志不清,面色潮红,口唇呈樱桃红色,大汗,对诊断有价值的检查是()
下列各项中,不属于小儿病理特点的是
在我国急性胰腺炎最常见的病因是()。
房屋权属登记信息是指房屋权属登记机关在登记过程形成与房屋权利直接相关的信息,包括原始登记凭证以及对房屋权利的记载信息。
下列项目中,在资产负债部分反映的有()。
容积率的计算公式为()
关于因果图的绘制,下列说法不正确的是()。
面向对象的程序设计语言是一种()。
PepysandhiswifeJanehadaskedsomefriendstodinneronSunday,September2nd,1666.TheywereupverylateontheSaturday
Thegrowthofpopulationduringthepastfewcenturiesisnoproofthatpopulationwillcontinuetogrowstraightupwardtoward
最新回复
(
0
)