首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
文件IN.DAT中存有200个四位整型数,函数ReadData()负责将IN.DAT中的数读到数组inBuf[]中。请编制一函数findData(),其功能是:依次从数组inBuf中取出一个四位数,如果该四位数连续小于该四位数以后的5个数且该数是偶数(该四
文件IN.DAT中存有200个四位整型数,函数ReadData()负责将IN.DAT中的数读到数组inBuf[]中。请编制一函数findData(),其功能是:依次从数组inBuf中取出一个四位数,如果该四位数连续小于该四位数以后的5个数且该数是偶数(该四
admin
2021-02-03
41
问题
文件IN.DAT中存有200个四位整型数,函数ReadData()负责将IN.DAT中的数读到数组inBuf[]中。请编制一函数findData(),其功能是:依次从数组inBuf中取出一个四位数,如果该四位数连续小于该四位数以后的5个数且该数是偶数(该四位数以后不满5个数,则不统计),则按照从小到大的顺序存入数组outBuf[]中,并用count记录下符合条件的数的个数。函数WriteData()负责将outBuf[]中的数输出到文件OUT.DAT中并且在屏幕上显示出来。
注意:部分源程序已给出。
程序中已定义数组:inBuf[200],outBuf[200],已定义变量:count。
请勿改动主函数main()、读函数ReadData()和写函数WriteData()的内容。
试题程序:
#include
#define MAX 200
int inBuf[,MAX],outBuf[MAX]。count=0;
void findData()
{
}
void ReadData()
{
int i;
FILE*fp;
fp=fopen(“IN.DAT”,“r”);
for(i=0;i
fscanf(fp,“%d“,&inBuf
);
fclose(fp);
}
void WriteData()
{
FILE*fp;
int i;
fp=fopen(“OUT.DAT”,“W”);
fprintf(fp,“%d\n”,count);
for(i=0;i
fprintf(fp,“%d\n”,outBuf
);
fclose(fp);
}
void main()
{
int i;
ReadData();
findData();
printf(“the count of desired datas=%d\n”,count);
for(i=0;i
printf(“%d\n”,outBuf
);
printf(“\n”);
WriteData();
}
选项
答案
void findData() { int i,j,temp,flag; //选出偶数的项并且该数连续小于该数以后的5 个数 count=0; for(i=0,j
inBuf[i+j])flag=1; if(flag==0) { outBuf[eount]=inBuf[i]; //将满足要求的数据存入outBuf中 count++;//将计数器加1 } } for(i=0;i
outBuf[j]) /*如果第i位比它后面的数大,则将两者进行交 换。也即将更小的值放到第i位*/ { temp=outBuf[i], outBuf[i]=outBuf[j]; outBuf[j]=temp ; } }
解析
本题主要考查数据的奇偶判断,数组中数据的比较及排序
程序步骤:①查找符合要求的项:利用条件inBuf
%2==0找出数值是偶数的项。用谊项与其后面的连续5项相比较,如果有一项不符合要求(大于或小于后面的项),则可将该项排除,程序中的flag变量即是为此目的而设的。这样一来便可找出所有符合要求的项。②排序的思想是(以从小到大为例):将当前数据与其后的各个数据相比较,如果当前的数据比其后的数据大,则将两数据进行交换,从而使得前面的数据小于后面的数据。达到从小到大排序的目的。
转载请注明原文地址:https://kaotiyun.com/show/VFOZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
图4是在一台主机上用sniffer捕捉的数据包,请根据显示的信息回答下列问题。该主机上正在浏览的网站是(57)_________。
IP地址块211.64.0.0/11的子网掩码可写为()。
下列关于局域网设备的描述中,错误的是()。
下列关于Serv_UFTP服务器配置的描述中,错误的是
采用RSA算法,网络中N个用户之间进行加密通信,需要的密钥个数是()。
在Windows2003系统下DHCP服务器中添加排除时,应输入的信息是()。
下图是网络地址转换NAT的一个示例根据图中信息,标号为③的方格中的内容应为()。
下列对配置CiscoAironet1100接入点的描述中,错误的是()。
在无线局域网中,客户端设备用来访问接入点(AP)的唯一标识是()。
在Catalyst3524以太网交换机上建立名为hyzx204的VLAN,正确的配置语句是()。
随机试题
Asageneralrule,AmericanmenearnmorethanAmericanwomen.Thisholdstrueacrossindustries,acrosseducationlevels,anda
设计可摘的局部义齿有哪些基本要求?
下列哪个不是鼠疫病人的处理措施
目前诊断肺炎衣原体感染的最敏感的方法是
影响房地产价格的国际因素主要有()。
图示结构中,杆b的轴力为()。
自由贸易政策
下列项目中,应记人“财务费用”科目的有()。
如果股票的期望报酬率等于其必要报酬率,说明()。
为什么我们容易区分上下,但却不容易分辨左右?20世纪存在主义哲学的创始人——著名德国哲学家_____曾说过,“人,诗意地栖居于大地”,我们头顶蓝天,脚踩大地,这是区分上下的最为直观方便的参照系。但左右就不同了,左和右并无明显的参照系。小时候,大人教我们:拿
最新回复
(
0
)