首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
文件IN.DAT中存有200组数据,每组有3个数,每个数均是三位数。函数ReadData()是读取这200组数据存放到结构数组inBuf中。请编制函数dataSort(),其功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第i个数之
文件IN.DAT中存有200组数据,每组有3个数,每个数均是三位数。函数ReadData()是读取这200组数据存放到结构数组inBuf中。请编制函数dataSort(),其功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第i个数之
admin
2013-12-17
36
问题
文件IN.DAT中存有200组数据,每组有3个数,每个数均是三位数。函数ReadData()是读取这200组数据存放到结构数组inBuf中。请编制函数dataSort(),其功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第i个数之和,其中满足条件的个数作为函数dataSort()的返回值。同时把满足条件的数据存人结构数组outBuf中,再对结构数组outBuf中的数据按照每组数据的第二个数加第三个数之和的大小进行降序排列,排序后的结果仍重新存人结构数组outBuf中,函数WriteData()负责把结果outBuf输出到文件OUT.DAT中。
注意:郎分源程序已给出。
请勿改动主函数main()、读函数ReadData()和写函数WriteData()的内容。
试题程序:
#include
#include
#include
typedef struct
{
int x1,x2,x3;
}
Data;
Data inBuf[200],outBuf[200];
void ReadData();
void WriteData(int);
int dataSort()
{
}
void main()
{
int count;
ReadData();
count=dataSort(); /*返回满足条件的个数*/
WriteData(count);
}
void ReadData()
{
FILE*in;
int i;
in=fopen(“IN.DAT”,“r”);
for(i=0;i<200;i++)
fscanf(in,“%d,%d,%d,”,&inBuf
.x1,
&inBuf
.x2,&inBuf
.x3);
fclose(in);
}
void WriteData(int count)
{
FILE*out;
int i;
OUt=fopen(“OUT.DAT”,“W”);
system(“CLS”);
for(i=0;i
printf(“x1=%d,x2=%d,x3=%d x2+x3
=%d\n”,outBuf
.x1,outBuf
.x2,outBuf
.x3,outBuf
.x2+outBuf
.x3);
fprintf(out,“x1=%d,x2=%d,x3=%d x2+
x3=%d\n”,outBuf
.x1,outBuf
.x2,out
Buf
.x3,outBuf
.x2+outBuf
.x3);
}
fclose(out);
}
选项
答案
int dataSort() { int count=0,i,j; Data temp; for(i=0;i<200;i++) { if(inBuf[i].x2>inBuf[i].x1+inBuf[i].x3) /*如果符合条件,则将inBuf中的内容写到 outBuf中*/ { outBuf[count].x1:inBuf[i].xl; outBuf[count].x2=inBuf[~.x2; outBuf[count].x3=inBuf[i].x3; count++; } } for(i=0;i
解析
本题主要考查结构数组排序的问题。
所谓结构数组排序就是以结构某一元素为依据对结构数组进行排序。排序时仍采用冒泡排序法。但是由于结构不像变量那样可以通过简单的赋值来交换变量(如果要赋值的话需要对结构里的所有元素进行赋位替换,比较麻烦),所以在进行两个相邻结构交换时,用到内存拷贝函数来对内存的内容整体进行操作。
由于本题的头文件中没有包含对内存探作的头文件memory.h,故只能用赋值的方法来进行结构的交换。
转载请注明原文地址:https://kaotiyun.com/show/fAZZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
在采用点-点通信线路的网络中,由于连接多台计算机之间的线路结构复杂,因此确定分组从源结点通过通信子网到达目的结点的适当传输路径需要使用_______。
操作系统的一个重要功能是存储管理。以下有关存储管理的叙述,_______是错误的。
机群系统可以按应用或结构进行分类。按应用目标可以分为:高性能机群与_______。
通信控制处理机可作为通信子网中的______,完成分组的接收、校验、存储及转发等功能,实现将源主机报文准确发送到目的主机的作用。
ATM协议可以分成3层,分别是()。
千兆位以太网组网的基本思路是在楼层或部门一级,使用10Mbps或100Mbps以太网卡,将工作站连接到速率为()以太网交换机上。
当发现网络安全遭到破坏时,所能采取的基本行动方案有:【 】和跟踪方式。
数字彩色图像的数据量非常大,65536色的560*400的彩色图像;如不进行数据压缩,则使用56kbps的调制解调器上网时,下载一幅这样的彩色图像理论上最快需要【 】秒钟。
使用粗缆组建局域网时,若不使用中继器设备,粗缆可达到的最大长度为______。
WindowsNTServer系统内置以下______标准网络协议。
随机试题
纳税属于()。
______isthefirstbooktopresentaHemingwayhero—NickAdams.
Itisnoteasyto_____theabilitytospeakfluentEnglishonwriteidiomaticEnglish.
A、侵袭性腹泻B、分泌性腹泻C、果酱样大便D、嗜酸性粒细胞减少E、嗜酸性粒细胞增加急性血吸虫病:()
腹股沟管的外环是
对新药监测期已满的药品,应报告的不良反应包括
科目汇总表处理程序与汇总记账凭证处理程序的主要相同点是()。
付款人累计()次提出无理拒付的,付款人开户银行应暂停其向外办理托收。
下列各项中,企业不应计入管理费用的()。
在窗体上绘制一个命令按钮,其名称为Command1,然后编写如下事件过程:PrivateSubCommand1_Click() DimiAsInteger,xAsInteger Fori_1T06
最新回复
(
0
)