首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
文件IN.DAT中存有200组数据,每组有3个数,每个数均是三位数。函数ReadData()是读取这200组数据存放到结构数组inBuf中。请编制函数dataSort(),其功能是;要求在200组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之
文件IN.DAT中存有200组数据,每组有3个数,每个数均是三位数。函数ReadData()是读取这200组数据存放到结构数组inBuf中。请编制函数dataSort(),其功能是;要求在200组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之
admin
2012-07-20
86
问题
文件IN.DAT中存有200组数据,每组有3个数,每个数均是三位数。函数ReadData()是读取这200组数据存放到结构数组inBuf中。请编制函数dataSort(),其功能是;要求在200组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之和,其中满足条件的个数作为函数dataSort()的返回值,同时把满足条件的数据存人结构数组outBuf中,再对结构数组outBuf中的数据按照每组数据的第一个数加第三个数之和的大小进行升序排列(第一个数加第三个数的和均不相等),排序后的结果仍重新存人结构数组outBuf中,函数WriteData(int)负责把结果outBuf输出到文件OUT.DAT中。
注意;部分源程序已给出。
请勿改动主函数main()、读函数ReadData()和写函数WriteData(int)的内容。
试题程序;
#include
#include
#include
typedef struct
{
int xl,x2,x3;
}
Data;
Data inBuf[200],outBuf[200];
void RcadData();
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
.
xl,&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("xl=%d,x2=%d,x3=%d xl
+x3=%d\n",outBuf
.xl,outBuf
.x2,outBuf
.x3,outBuf
.xl+
outBuf
.x3);
fprintf(Out,"x1=%d,x2=%d,x3
=%d xl+x3=%d\n",outBuf
.xl,
outBuf
.x2,outBuf
.x3,outBuf
.xl+outBuf
.x3);
}
fclose(out);
}
选项
答案
int dataSort() { int count=0,i,j; Data temp; for(i=0;i<200;i++) { if(inBuf[i].x1>inBuf[i].x2+inBuf[i].x3) /*如果符合条件,则将inBuf中的内容写到outBuf中*/ { outBuf[count].xl=inBuf[i].xl; outBuf[count].x2=inBuf[i].x2; outBuf[count].x3=inBuf[i].x3; count++; } } for(i=0;i
解析
本题主要考查结构数组排序的问题。所谓结构数组排序就是以结构某一元素为依据对结构数组进行排序。排序时仍采用冒泡排序法。但是由于结构不像变量那样可以通过简单的赋值来交换变量(如果要赋值的话需要对结构里的所有元素进行赋值替换,比较麻烦),所以在进行两个相邻结构交换时,用到内存拷贝函数来对内存的内容整体进行操作。由于本题的头文件中没有包含对内存操作的头文件mem.h,故只能用赋值的方法来进行结构的交换。
转载请注明原文地址:https://kaotiyun.com/show/k24Z777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
数字证书是—条数字签名的消息,它通常用于______。
______是一种可应用于ERP、电子商务和数据仓库的大型Unix系统。
实现不同网络协议之间转换的设备是______。
下列标准中用于100Mbps快速以太网的标准是______。
奔腾芯片有双Cache结构,—个用于数据缓存,另—个用于【 】缓存。
如果发送者利用自己的私钥对要传送的数据实现加密,接收者以发送者的公钥对数据进行解密,这种技术能够实现______。
交换式局域网增加带宽的方法是在交换机多个端口之间建立______。
采用点,点线路的通信子网的基本拓扑构型有4种,它们是
关于PC机软件的描述中,以下说法错误的是
POP3.服务运行的默认端口号为( )
随机试题
Oneofthemostimportantfeaturesthatdistinguishesreadingfromlisteningisthenatureoftheaudience.【C1】______thewriter
上颌后堤区的形成方法,不正确的是
为提高安全治理能力与治理体系的现代化、科学化水平,企业积极出台加强和创新安全管理的措施。下列措施中不属于创新安全管理的是()。
本工程施工现场东南两侧应设置不低于( )m的围档。按有关规定,本工程屋面防水使用年限为( )年。
WindowsXP已经成为目前市场上PC机的主流操作系统。()
销售部的汪洁四季度的业务完成量是40万元,而她的同事赵刚为36万元,赵刚的完成情况不如汪洁,这种分析工作绩效的方法是()。
电池辐射强度超过一定限度或产生累积效应时,会对人体健康产生不良影响。下对对人体辐射影响最大的是:
=_________。
Somepsychologists(心理学家)maintainthatmentalactssuchasthinkingarenotperformedinthebrainalone,butthatone’smuscles
A、Fantasticsettings.B、Specialeffects.C、Mysteriouscostumes.D、Mysteriousweapons.B
最新回复
(
0
)