首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件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
49
问题
已知数据文件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://www.kaotiyun.com/show/LMfZ777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
清空某台Cisco路由器NVRAM中的全部配置信息,正确的配置操作是______。
在键入交换机命令时可使用缩写形式,在Switch#模式下,如果键入con,则表示______。
下列哪个选项不是基于第三层协议类型或地址划分VLAN?______。
如果不想公布网络中的某些RIP信息,那么可以采用被动接口配置。将路由器RouterA的FastEthernet0/0接口设置为被动接口的配置语句是______。
A、 B、 C、 D、 C距离向量协议也称为距离矢量协议,是根据距离矢量(跳数hop)来进行路由选择的一个确定最佳路由的方法,比如RIP协议就是一种距离向量协议。链路状态协议则是根据带宽、延迟等指标
软件执行交换结构是借助______硬件环境,由特定的软件来完成数据帧交换的一种交换结构。
以下关于综合布线技术特征的描述中错误的是______。
A、 B、 C、 D、 C物理备份也称为“基于块的备份”或“基于设备的备份”,其在复制磁盘块到备份介质上时忽略文件结构,从而提高备份的性能。因为备份软件在执行过程中,花费在搜索操作上的开销很少。
ICMP是Internet控制协议报文协议,它允许主机或路由器报告______和提供有关异常情况的报告。它是______的组成部分,其报文格式包括报文头和数据区两部分,其中报文头部分是由______等三个字段组成,每个字段长度分
办公自动化(OA)实际上是
随机试题
根据《中华人民共和国银行业监督管理法》(以下简称《银行业监督管理法》)的规定,银行业监督管理机构根据审慎监管的要求,可以进行现场检查。以下关于现场检查的表述,哪一项是不正确的?
成本分析的方法有()。
某省属重点水利工程项目计划于2004年12月28日开工,由于坝肩施工标段工程复杂,技术难度高,一般施工队伍难以胜任,业主自行决定采取邀请招标方式。于2004年9月8日向通过资格预审的A、B、C、D、E五家施工承包企业发出了投标邀请书。该五家企业均接受了邀请
免税债券的息票利率为5.6%,而应税债券为8%,都按面值出售。要使投资者对两种债券无偏好,税率(边际税率)应为( )。
目前,个人征信系统数据的直接使用者不包括()。
2009年11月,首届世界低碳与生态经济大会技术博览会在江西南昌召开,在这次大会上,江西共签约项目143个,总投资为1045.95亿元,先后分三次签约;第一次,与23家央企签约37年合作项目,项目总投资为519.1亿元;第二次,九江市人民政府与中信集团签
某项工程,若王强单独做,需40天完成;若李雷单独做30天后,王强、李雷再合作20天可以完成。如果两人合作完成该工程,王强第一天工作但每工作一天休息一天,问:整个工程将会在第几天完成?
清末废除封建会审制度是在()颁布之后实施的。
阅读以下说明,回答问题。[说明]某学校计划建立校园网,拓扑结构如图2-9所示。该校园网分为核心、汇聚、接入三层,由交换模块、广域网接入模块、远程访问模块和服务器群四大部分构成。该校园网内交换机的数量较多,交换机间链路复杂,为了防止出现环路,
A—InternationalLogisticsB—DistributionChannelsC—GlobalMarketingD—ExcessCapacity
最新回复
(
0
)