首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知IN7.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:依次从数组a中取出一个数,如果该4位数连续大于该4位数以后的5个数且该数是奇牧,则统计出满足此条件的数的个数cnt,并把这些
已知IN7.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:依次从数组a中取出一个数,如果该4位数连续大于该4位数以后的5个数且该数是奇牧,则统计出满足此条件的数的个数cnt,并把这些
admin
2009-02-19
21
问题
已知IN7.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:依次从数组a中取出一个数,如果该4位数连续大于该4位数以后的5个数且该数是奇牧,则统计出满足此条件的数的个数cnt,并把这些4位数按从小到大的顺序存入数组b中,最后调用写函牧writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT7.DAT文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数wfiteDat()的内容。
试题程序:
#include<stdio.h>
#define MAX 200
int a[MAX],b[MAX],cnt=0;
void writeDat();
void jsVal()
{
}
void readDat()
{
int i;
FILE * fp;
fp=fopen("IN7.DAT","r");
for(i = 0; i < MAX; i++) fscanf(fp,"%d", &a
);
close(fp);
}
main()
{
int i;
readDat();
jsVal();
printf("满足条件的数=%d\n", cnt);
for(i=0; i < cnt; i++ printf("%d ", b
);
printf("\n");
writeDat()
}
void writeDat )
{
FILE * fp;
int i;
fp = fopen("OUT7.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; int k; for (i=0; i<MAX-5; i++) { for(j=i+1;j<=i+5,j++) /*如果当前数比后面的5个数都大,则给标志变量 flag赋值1*/ { if (a[i]>a[j]) flag=1; else {flag=0;break; } /*否则给标志变量flag赋值0并退出循环*/ if (a [i] %2==0) /*如果该数是偶数,也给标志变量flag赋值0*/ flag=0; } if (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]) {k=b[i] ;b[i]=b[j];b[j]=k;}
解析
根据题意可知,要编制函数的功能有两部分:一是找出满足条件的4位数,二是对找出的数进行从小到大排序。首先利用一个for循环来依次从数组中取得4位数,接着用当前得到的4位数与该数后面的5个数依次进行比较,如果该数比后面的5个数都大,则给标志变量flag赋值1,接着对flag进行判断,如果不为1,则该数肯定不符合条件,直接去取下一个数。若flag值为1,再来判断该数是否是奇数,如果该数又是奇数,则把该数加入到数组b中。这样就可以依次取出符合条件的数。然后利用选择法对b数组中的元素进行从小到大的排序。
转载请注明原文地址:https://kaotiyun.com/show/0pcZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
下列程序执行后,(BX)=【 】。 MOV CL,5 MOV BX,7138H SHR BX,CL
用户要将一台计算机作为打印机服务器使用,需要安装( )。 ①Netware目录服务 ②Microsoft网络上的文件与打印机共享 ③Netware网络上的文件与打印机共享
被连接的汇编语言程序模块中,下面( )分段定义伪指令语句所使用组合类型是不可设为默认的。
80×86指令系统为变长指令系统,包括5个子段,其中规定操作类型的是( )。
下面关于μC/OS—Ⅱ任务管理的叙述中,错误的是()。
GNU开发工具套件中的C语言编译器,其英文简称是【79】。它所能编译的目标机处理器包括X86、ARM、PowerPC等体系结构的处理器。针对于ARM体系结构的目标机而言,该C语言编译器的命令书写格式中,其带前缀的命令是【80】。
在下图所示的嵌入式最小硬件系统中,①和②分别为【59】电路和【60】电路(顺序无关)。
下图是嵌入式系统硬件部分的逻辑组成及其与外部世界关系的示意图,其中的组成部分A是【41】;组成部分B是【42】。
局域网指较小地域范围内的计算机网络,最流行的局域网是以太网。以太网采用的通信协议是【47】,连接在以太网中的每台计算机必须至少有一个全球唯一的【48】地址。
下面列出的条目中,哪些是数据库系统的组成成员? Ⅰ.操作系统 Ⅱ.数据库管理系统 Ⅲ.用户 Ⅳ.数据库管理员 Ⅴ.数据库
随机试题
4绝缘电阻表使用中须根据被测对象不同来选择不同的()等级。
在门脉性与坏死后性肝硬化病变的区别中,不包括下列哪一项
治疗急性白血病时要保护静脉的原因是
男,45岁。因“胃窦部溃疡”欲行“胃大部切除术”,其一般情况尚好,血压18.6/12.69kPa(140/90mmHg)。为该患者做术前准备,下列哪项错误
29岁孕妇,妊娠32周,3周内阴道少量流血2次,今晨突然阴道流血多于月经量,无腹痛,血压13.3/10.7kPa,脉率96次/分,宫高30cm,腹围85cm,臀先露,未入盆,胎心清楚,144次/分。应最先考虑的疾病是()
暴发性流脑病情危重,死亡率高,患者、家属均可产生焦虑及恐惧心理,护士进行护理时不妥的做法是()。
分娩第一期护理,哪项是错的
根据所给资料,回答以下问题。2012年,黑龙江省规模以上工企业中,六大战略性新兴产业单位721户,累计实现增加值455.7亿元,比去年增长15.1%,高于全省规模以上工业增加值增速4.6个百分点,占全省规模以上工业企业增加值的9.6%。
ARM处理器如果R1=0x98001200,已知在小端模式下,内存0x98001204中存放数据0x35,0x98001205中存放数据0x36,0x98001206中存放数据0x37,0x98001207中存放数据0x38,在指令LDRR0,[R1,#
Fourmemberswalkedoutofthesession,withtheresultthatthecommitteedidnothavea______andwouldnottakeanydecision
最新回复
(
0
)