首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件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
48
问题
已知数据文件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全国计算机三级
相关试题推荐
下列关于RAID技术的描述中,错误的是______。
A、 B、 C、 D、 DCisCoAironet1100系列接入点兼容802.11b与802.11g协议,工作在2.4GHz频段,使用CisCoIOS操作系统,A,B,C都正确,CiscoAiro-n
加快Catalyst3548发生直接链路失效时的收敛速度,正确配置生成树可选功能的命令是______。
在不同厂家交换机互连,要实现VLANTrunk功能时,必须在直接相连的两台交换机端口上都封装同一种协议,即______,保证协议的一致性,否则不能正确地传输多个VLAN的信息。
以下交换机动态交换模式的描述中,错误的是______。
在总线交换结构的交换机中,总线带宽要求比较高,如果端口带宽都相同,则总线带宽S应等于______(B为端口带宽,N为交换机端口数)。
A、 B、 C、 D、 A在配置访问控制列表的规则中,关键字“any”代表的通配符掩码是255.255.255.255的反码,即0.0.0.0,所以选A。
一个进程的内存分配页表如下,页的大小为500B,其中,有效位为1表示已装入内存,W表示可写,R表示可渎。指令WRITE[3,100],R1存执行时会产生什么结果?()
用管程解决进程间同步关系时,在管程内使用的对象是()。
办公自动化(OA)实际上是
随机试题
能够充分伸展肱三头肌的方式是()。
较少使用丸剂的方剂类别有
某女,45岁。面浮肢肿,气短神疲,肢体困重,畏寒肢冷,腰痠膝软,纳呆腹胀,小便清长,舌淡胖,苔白滑,脉沉迟无力。辨证为
诊断新生儿Rh溶血病有确诊价值的试验是
病人周某,左上肢因输液后有条索状红线,红、肿、热、痛,体温40.2℃。下列措施哪项错误
债券凸性对于投资者是不利的,在其他情况相同时,投资者应当选择凸性较小的债券进行投资。()
幸福寿司店是一家处于成长期的公司,其主要通过电话或网络定购的方式销售日本生鱼片和寿司。公司产品销售状况良好,净利水平已经达到了历史最高,但是通过分析发现,公司的利润还有上升的空间,原因是目前的费用支出非常高,还有节省的空间。针对每年居高不下的费用支出,公司
网络中的一台主机只能有一个IP地址,即使其装有多个网卡也一样。()
( )是公安工作的根本路线。
斯坦尼体系和布莱希特体系与梅兰芳所代表的中国传统戏曲是不同文化背景的产物,三者并列,在理论上、逻辑上都不严密。如果要讲体系的话,那么中国戏曲是“神形兼备”(即写意)的戏剧表演体系。在世界戏剧史上,东西方古典戏剧(或传统戏剧)可以进行比较,但不宜将西方现代戏
最新回复
(
0
)