首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
文件IN_DAT中存有200组数据。每组有3个数,每个数均是三位数。函数ReadData()是读取这200组数据存放到结构数组inBuf中。请编制函数dataSort(),其功能是:要求在200组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之
文件IN_DAT中存有200组数据。每组有3个数,每个数均是三位数。函数ReadData()是读取这200组数据存放到结构数组inBuf中。请编制函数dataSort(),其功能是:要求在200组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之
admin
2021-09-09
60
问题
文件IN_DAT中存有200组数据。每组有3个数,每个数均是三位数。函数ReadData()是读取这200组数据存放到结构数组inBuf中。请编制函数dataSort(),其功能是:要求在200组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之和,其中满足条件的个数作为函数dataSort()的返回值,同时把满足条件的数据存人结构数组outBuf中,再对结构数组outBuf中的数据按照每组数擤;的第一个数加第三个数之和的大小进行升序排列(第一个数加第三个数的和均不相等),排序后的结果仍重新存人结构数组outBuf中,函数WriteData(int)负责把结果outBuf输出到文件OUT.DAT中。
注意:部分源程序已给出。
请勿改动主函数main()、读函数ReadData()和写函数WriteData(int)的内容。
试题程序:
#inch+de
#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 RcadData()
{
FILE*in;
int i;
in=fopen(“IN.DAT”,“r”);
for(i=0;i<200;i++)
fscanf(in,“0A 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 x1+x3
=%d\n”,outBuf
.x1,outBuf
.x2,outBuf
.x3,outBuf
.xl+outBuf
.x3);
fprintf(out,“x1=%d,x2=%d,x3=%d x1+
x3=%d\n”,outBuf
.x1,outBuf
.x2,out
Buf
.x3,outBuf
.x1+outBuf
.x3);
}
fclose(out);
}
选项
答案
int dataSort() { int count=0,i,j; Data temp; for(i=0;i<200;i++) { if(inBuf[i].xl>inBuf[i].x2+inBuf[i].x3) /*如果符合条件,则将inBuf中的内容写到 outBuf中*/ { outBuf[count].x1=inBuffi].x1; outBuf[count].x2=inBuf[i].x2; outBuf[count].x3=inBuf[i].x3; count++; } } for(i=0;i
outBuf [j].xl+outBuf[j].x3) { temp.x1=outBuf[i-].x1; //将outBuf[i]中的内容写到temp中 temp.x2=outBuf[i].x2} temp.x3=outBuf[i].x3; outBuf[i].x1=outBuf[j].x1; //将outBuf[j]中的内容写到outBuf [i]中 outBuf[i].x2=outBuf[j].x2; outBuf[i].x3:outBuf[j].x3; outBuf[j].x1=temp.x1; //将temp中的内容写到outBuf[j]中 outBuf[j].x2=temp.x2 ; outBuf[j].x3=temp.x3 ; } return count; }
解析
本题主要考查结构数组排序的问题。
所谓结构数组排序就是以结构某一元素为依据对结构数组进行排序。排序时仍采用冒泡排序法。但是由于结构不像变量那样可以通过简单的赋值来交换变量(如果要赋值的话需要对结构里的所有元素进行赋值替换,比较麻烦),所以在进行两个相邻结构交换时,用到内存拷贝函数来对内存的内容整体进行操作。
由于本题的头文件中没有包含时内存操作的头文件mem.h,故只能用赋值的方法来进行结构的交换。
转载请注明原文地址:https://kaotiyun.com/show/oYOZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
下图是校园网某台主机在命令行模式下执行某个命令时用sniffer捕获的数据包。请根据图中信息回答下列问题。该主机上配置的IP地址的网络号长度最多是【16】。
下列技术中,不属于宽带城域网QoS保证技术的是()。
基于网络的入侵检测系统采用的基本识别技术中不包括()。
如下图所示,某校园网使用10Gbps的POS技术与CERNET相连,POS接口的帧格式使用SDH,R1和R2之间使用静态路由。请阅读以下R1和R2关于POS接口和静态路由的配置信息,并补充空白处的配置命令或参数,按题目要求完成路由器的相关配置。R1的
下列关于集线器的描述中,正确的是()。
根据下图所示网络结构回答下列问题。若在Windows主机192.168.64.215上探测数据包传输路径:从本机到主机192.168.66.195,应使用的命令是_______,数据包经过的第2个路由器为_______。
请根据下图所示网络结构回答下列问题。(1)用网络前缀格式填写路由器RG的路由表项【1】~【6】。(2)如果需要监听路由器RE和RG之间的所有流量,可以在该链路中串入一种设备。请写出这种设备的名称。(3)如果将172.0.35.128/25划分为3
在Cisco路由器的内存中,主要用于存储启动配置文件(startup-config)或备份配置文件的可读写存储器是()。
下列关于集线器的描述中,错误的是()。
下列关于集线器的描述中,错误的是()。
随机试题
CT设备硬件的基本结构不包括
充盈缺损的主要X线表现()
某企业管理层希望通过新产品生产加强企业的竞争力,该新产品属于高科技新型产品,上市不足3年。公司市场分析人员经过多方努力收集到了前两年的产品市场数据,见表1-1。企业如果最终决定投资,预计可在2年后投产,5年后形成规模生产能力,因此需要对5年后即
施工招标采用最低评标价法评标的,在详细评审时评标委员会发现投标人的报价明显低于其他投标报价,使得其投标报价可能低于其成本的,应当要求该投标人做出书面说明并提供相应的证明材料。投标人不能合理说明或者不能提供相应证明材料的,则()。
按现行政策规定,下列选项中,不属于房产税征税范围的有()。
企业不提供与其关联方之间业务往来资料,或者提供虚假、不完整资料,未能真实反映其关联业务往来情况的,税务机关有权依法核定:其应纳税所得额。核定方法有()。
我磕磕绊绊地走在村庄里,似乎仅仅听到了自己的脚步声和喘息。两堵泥墙的夹缝偶尔闪出一条窄窄的小巷,光滑的石板路笔直地伸人纵深之后一折绕走了。巷子尽头的泥墙有一扇小小的石窗,窗内乌黑一片。沿途遇见了若干倒塌的院落,阳光之下芳草萋萋,几堵孤立的残墙缄默不语,两扇
A:CanIseeyourdrivinglicence?B:______
Itisnogoodinvitingpeopleofdifferentsocialpositionstothesamepartyinthecountrywhere______.Thepassageinfersth
A、Itusuallyrequiresananalysisoffinancialdemand.B、Itiscomposedofresearchandgraduatetypes.C、Itsamountrangesfrom
最新回复
(
0
)