首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN53.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数JsVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续大于该4位数以前的5个数且该数是偶数,则统计出满足此条件的数个数cn
已知数据文件IN53.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数JsVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续大于该4位数以前的5个数且该数是偶数,则统计出满足此条件的数个数cn
admin
2009-02-15
59
问题
已知数据文件IN53.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数JsVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续大于该4位数以前的5个数且该数是偶数,则统计出满足此条件的数个数cnt并把这些4位数按从大到小的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到文件OUT53.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("in53.dat","r");
for(i=0;i<MAX;i++)
fscanf(fp,"%d",&a
);
fclose(fp);
}
void main()
{
int i;
readDat();
jsVal();
print f ( "满足条件的数=%d\n", cnt);
for(i=0;i<cnt;i++)
printf("%d",b
);
printf("\n");
writeDat ( );
}
writeDat ()
{
FILE *fp;
int i;
fp=fopen("out53.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; for (i=5; i<MAX; i++ ) { for (j=i-5; j<i;j++) { if(a[i]>a[j]) /*如果该4位数连续大于它以前的5个数*/ flag=l; /*则置flag为1*/ else flag=0; /*否则置flag为0*/ if (a[i]%2!=0) /*如果该四位数为奇数*/ flag=0; /*则置flag为0*/ if (flag==0) break; /*如果flag为0, 则退出循环*/ } if (flag==1) { b[cnt] =a[i]; /*把满足条件的数存入数组b中*/ 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; } }
解析
本题考查的知识点如下:
(1)使用循环对数组的元素进行比较和排序。
(2)强行退出循环结构。
在本题中,数组b中的数据要满足的条件有两个。在这里,不再使用判断结构中条件的布尔运算,而采用一种新的方法——设置标志变量flag。当数据不满足某一条件时,如数据不是偶数,将flag设置为0:当flag等于0时,可直接退出本层循环结构,进入外层的循环中。否则,根据题意要求,将数据存入数组b中。对数组b中的数据排序,使用“选择排序法”。
转载请注明原文地址:https://kaotiyun.com/show/iwfZ777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
A、 B、 C、 D、 B在蓝牙技术的应用中,最小的工作单位叫Piconet,是通过蓝牙连接起来的设备的集合。一个Piconet可以只是两台相连的设备,比如一台PDA和一部移动电话,也可以是八台连在一起的设备
A、 B、 C、 D、 B基于WindowsServer2003系统的DHCP服务器,在[IP地址范围]界面中,可以用长度(如16)或点分十进制地址(如255.255.0.0)两种方法指定子网掩码。
A、 B、 C、 D、 A在交换机的超级用户模式下,对于大中型交换机输入showcamdynamic命令可显示交换表内容;对于小型交换机,输入showmac-address-table命令,可显示交换表
A、 B、 C、 D、 A是否需要分成3层组建的经验数据是:结点数为250~500个,一般需要按3层结构来设计;结点数为100~500个,可以不设计接入层网络,结点可直接通过汇聚层的路由器或交换机接入;结点数
A、 B、 C、 D、 D用户目录访问选项中,访问权限分文件、目录、子目录三类,需要分别设置。其中,文件权限设置选项分别是读取、写入、追加、删除、执行。目录权限设置选项分别是列表、建立、移动。
根据IP地址分配规则,下面IP地址在内网中应当避免使用的地址段是______。
A、 B、 C、 D、 C采取链路冗余的办法直接连接两台核心路由器,直接利用了核心路由器的带宽,但占用比较多的核心路由器端口,而高端路由器端口价格高,使得设备成本上升。采用专用服务器交换机,可以分担核心路由器
【1】::B6D7:2706【2】182.215.32.0【3】255.255.255.255【4】182.215.63.254【5】0.0.7.6在IPv6中,地址扩充为128位,并且为IPv4保留了~部分地址空间。按IPv6的地址的表示方法,
测试与设置指令(Test&Set)是解决互斥访问临界区的硬件方法。下列关于该指令功能的叙述中,哪些是正确的?()
以下关于建立主题数据库目的的说法中,错误的是
随机试题
阅读散文《一棵野豆秧》节选,然后回答问题。那是秋天,我们乘两辆越野车到西藏去,车子整天颠簸在青藏高原漫无涯际的荒滩上,窗外旋转的是一眼望不到边的黄色的地平线,没有树,没有人烟,除了铺向大地尽头的单调的电线杆和低空偶尔掠过一两只大乌鸦外,没有任何明显的标志
离心泵与往复泵的相同之处在于()。
下列参与糖代谢的酶中,哪种酶催化的反应是可逆的
AST明显增高临床可见于
施工单位资料员应编制()套施工资料。
某第4周期的元素,当该元素原子失去一个电子成为正1价离子时,该离子的价层电子排布式为3d10,则该元素的原子序数是:
主要用于开挖停机面以下的土料,适用于坑槽挖掘,也可水下掏掘土石料的挖掘机是( )。
企业计提固定资产折旧时,下列会计分录中,正确的有()。
某项工程,小王单独做需20天完成,小张单独做需30天完成。现在两人合做,但中间小王休息了4天,小张也休息了若干天,最后该工程用16天时间完成。问小张休息了几天?()
Theproblemtobetakenupandthepointatwhichthesearchforasolutionwillbeginarecustomarilyprescribedbytheinvesti
最新回复
(
0
)