首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
admin
2009-02-19
46
问题
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和,其中满足条件的个数作为函数jsSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对结构数组bb中的数据按照每组数据的第二个数加第三个数之和的大小进行降序排列,排序后的结果仍重新存入结构数组bb中,最后调用函数writeDat()把结果bb输出到文件OUT30.DAT中。
注意:部分源程序已给出。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
#include 〈stdio.h>
#include 〈string.h>
#include 〈conio.h>
typedef struct
{
int x1, x2, x3;
} Data;
Data aa[200], bb[200];
int jsSort()
{
}
main ( )
{
int count;
readDat();
count = jsSort (); /* 返回满足条件的个数 */
writeDat(count);
}
readDat()
{
FILE *in;
int i;
in = fopen("IN30.DAT", "r");
for(i=0; i〈200; i++)
fscanf(in, "%d %d %d", &aa
.x1, &aa
.x2, &aa
.x3);
fclose(in);
}
writeDat(int count)
{
FILE *out;
int i;
out= fopen("OUT30.DAT", "w");
clrscr();
for(i=0; i〈count; i++)
{
printf("%d, %d, %d 第二个数+第三个数=%d\n", bb
.x1, bb
.x2,
bb
.x3, bb
.x2+bb
, x3);
fprintf(out, "%d, %5d, %d\n", bb
.x1, bb
.x2, bb
.x3);
}
fclose(out);
}
选项
答案
int jsSort() { int i, cnt=0, j; Data ch; for(i=0; i〈200; i++) if(aa[i].x2>aa[i].x1+aa[i].x3) /*如果第二个数大于第一个数加第三个数之和*/ { bb[cnt]=aa[i]; /*则把该组数据存入结构数组bb中*/ cnt++; /*统计满足条件的数据的组数*/ } for(i=0; i〈cnt-1; i++) /*对结构数组bb中的数据按照每组数据的第二个数*/ for(j=i+1; j〈cnt; j++) /*加第三个数之和的大小进行降序排列*/ if(bb[i].x2+bb[i].x3〈bb[j].x2+bb[j].x3) { ch=bb[i]; bb[i]=bb[j]; bb[j]=ch; } return cnt; /*返回满足条件的个数*/ }
解析
本题考查对结构体数组中的元素的各个域的操作。首先利用一个for循环来依次取得结构体数组中的各个元素,之后按照题目要求对当前的元素的各个域进行条件判断,由语句“if(aa
.x2>aa
.x1+aa
.x3)”来实现。如果该条件成立,则把被判断元素存放到数组bb中去,当符合条件的所有元素被找完后,按照“每组数据中的第二个数加第三个数之和的大小”进行从大到小的排序。解答本题的关键是要弄清被处理对象是结构体变量中的某个域,而不是结构体变量本身。
转载请注明原文地址:https://kaotiyun.com/show/CYcZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
下表是PC机中使用的一部分内存条的主要技术参数这四种内存条中数据传输率最高的是
Windows98中注册表文件中包括User.dat、System.dat和【 】。
在1000H单元中有一条二字节指令JMP SHORT LAB,如果其中偏移量分别为30H、 6CH、0B8H,则转向地址LAB的值分别为【 】;106EH; 10BAH。
用户的作业一般可以分为两大类;批量型和【 】。
计算机网络和多媒体通信的发展非常迅速,为了在居民小区开展点播电视(VOD)的应用,家庭PC机用户接入网络可选择的方案是【 】、Cable Modem或光纤/以太网。
下列逻辑地址中对应不同的物理地址的是( )。
假设(AL)=0FFH,依次执行ADD AL,12和AND AL,0FH指令后,标志位ZF和 SF的状态分别为( )。
在Windows98环境下可以安装“Microsoft 网络用户”和“NetWare 网络用户”客户机软件。在使用“NetWare网络用户”时,需要与( )协议进行绑定。
因特网的服务器中所存放并提供给网络浏览器阅读的是一种功能更强、结构更加复杂的【 】超文本,这种超文本的不同结点可能存放在因特网中的另外一台Web服务器。
常用的内存管理方法有段式、页式、段页式和【 】。
随机试题
美国学者麦格雷戈把“经济人”假设称为【】
国家将土地使用权出让后,土地使用权的受让人要履行一定的义务,以下不属于土地使用权受让人的义务的是()。A.按出让合同的规定开发、利用、经营土地B.不得将土地使用权转让他人C.不得擅自改变出让合同规定的土地用途D.按合同规定,支付全部出让金
乘晕宁是由
为乳腺癌根治术后的患者实施的护理措施中,可预防皮下积液及皮瓣坏死的措施是
主要对油轮而言,在装卸或清洗油舱过程中,()对降低原油防爆上限温度及防止油料的爆炸起着重要作用。
某公路工程项目监理业务由业主直接委托给某工程监理公司。监理范围包括了路基路面、桥梁、隧道等主要项目的设计和施工监理。在合同谈判过程中,业主原计划仅将质量控制、进度控制、合同控制、组织协调工作等任务委托给该监理公司,经该监理公司建议,业主最终将投资控制任务也
建筑安装工程费中的税金是指()。
背景:某市政跨河桥上部结构为长13m的单跨简支预制板梁,下部结构由灌注桩基础、承台和台身构成。施工单位按合同工期编制了网络计划图(如下图所示),经监理工程师批准后实施。在施工过程中,发生了以下事件:事件一:在进行1号基础灌注桩施工时,由于施工单位操作
数据库系统中实现各种数据管理功能的核心软件称为【】。
Inthepassagetheauthor’sattitudetowards"mixed-abilityteaching"is______.By"heldback"(Line1)theauthormeans"___
最新回复
(
0
)