首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
admin
2009-02-19
65
问题
在文件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全国计算机三级
相关试题推荐
在下面四种半导体存储器中,哪一种采用的是动态随机存取存储器?
USB接口提供______的电源,大部分USB设备都是通过这个电源供电的。
下面关于微处理器的叙述中,错误的是( )。
在Windows98中,PnP的核心是配置管理程序,它监视着PC机上安装的设备数量和类型的变化,在需要时配置系统。配置管理程序主要包含两个组件,它们分别是总线列举程序和_____。
在光纤信道上使用的频分多路复用技术是______。
感光元件是扫描仪中的关键部件,目前普遍使用的有( )。 Ⅰ.电荷耦合器件 Ⅱ.接触式感光元件 Ⅲ.光电倍增管 Ⅳ.光学编码器
为保证动态:RAM中的内容不消失,需要进行_____操作。
把高级程序设计语言编制的源程序转换成机器能执行的程序,这是由【 】系统软件完成的。
微软公司开发了一种音视频流媒体文件格式,其视频部分采用了MPEG-4压缩算法,音频部分采用了压缩格式WMA,且能依靠多种协议在不同网络环境下支持数据的传送。这种流媒体文件的扩展名是______。
嵌入式系统的开发过程按顺序可以分成【77】分析与规格说明、系统设计、【78】设计、系统集成与测试等4个阶段,测试的目的是验证模块/系统的功能和性能,以及发现错误。
随机试题
大雨滂沱,电闪雷鸣,好像天要塌下来似的。
苏霍姆林斯基说:“一个好的老师,是一个懂得心理学和教育学的人。”他强调的是教师专业知识中必须包括()。
酸性食糜进入小肠引起大量胰液分泌的主要机制是
患者,男性,60岁。咳嗽20年,冬春加重。近5年出现气喘。双肺广泛哮鸣音及肺底湿啰音,吸入喘康速气雾剂喘息未能减轻,最可能的诊断是
主营业地在广州的法国某公司雇佣了一个韩国人金某,金某的工作内容为巡回于东亚从事产品售后服务工作。后金某提出辞职,公司不允许,并向广州起诉了金某。下列说法正确的是:(2018年仿真模拟题)
下列四个不同数制表示的数中,数值最大的是()。
根据以下资料,回答下列问题。2013年,国家旅游局财政拨款支出预算合计占收支预算总表中支出总计的比重约为:
广义的课程不仅包括各门学科的课内教学,还包括课外活动、家庭作业和——等活动。
依次填入下列横线处的词语,最恰当的一组是:①2003年2月1日,美国“哥伦比亚”号航天飞机在从太空返回地面途中解体,机上7名宇航员全部________。消息传出,世界震惊。②地球生态系统是经过自然界的长期________形成的,它是人类生活的唯一基础,
我们社会主义国家的人权和资本主义国家强调的人权是两回事,我们的人权
最新回复
(
0
)