首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
admin
2009-02-19
28
问题
在文件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全国计算机三级
相关试题推荐
某用户的E-mail地址是lusponline.sh.cn,那么该用户邮箱所在服务器的域名是______。
鼠标器是一种输入设备,当用户移动鼠标器时,向计算机中输入的信息是
将PC机接入有线电视网(Cable TV或CATV),利用有线电视网进行数据传输,从而达到高速访问因特网的目的的设备是【 】。
下面Windows系列产品中,______的运行需要依赖MS-DOS的支持。
设X为变量,指令MOV AX, OFFSETX的寻址方式是( )。
一个高性能的微机系统为满足用户希望的编程空间大、存取速度快、成本低等要求,常采用( )、主存、外存三级存储体系。
存储器物理地址形成规则是( )。
用ARM汇编语言,在内存空间定义一个字(32位)变量的伪指令为【57】,指示下面为16位代码的伪指令是【58】。
单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针P指向的的单链表结点之后,下面的操作序列中哪一个是正确的?
该二叉树节点的后序序列为______。该二叉树对应的树林包括多少棵树?______。
随机试题
宣告自然人失踪的条件之一是自然人下落不明满()
金免疫技术检测的项目不包括A.ABO血型鉴定B.抗HIV抗体C.HCGD.梅毒螺旋体抗体E.大便隐血
A.不予注册B.注销注册C.再次注册D.变更注册已注册,执业药师受取消执业资格处分的予以
A.请求消费者协会组织调解B.与经营者协商和解C.向有关行政部门申请行政裁决D.向人民法院提起诉讼消费者和经营者权益的解决途径中,其结果具有强制执行力的最后解决手段是()。
下列选项中,有关光学水准仪的表述正确的有()。
北京光大工程公司为配合某一奥运项目,经海关批拙(限6个月复运出境)暂时从其香港子公司进口一套施工设备。该设备于2004年12月29日从深圳口岸进境,转关运输至北京某施工工地。该设备转关至广州附近,由于转关超载货物被查处。该货物于2005年1月20日转关至
亿金为货币金属,以金币为本位币,不铸造也不流通金币,银行券可兑换外币汇票的货币制度属于()货币制度。
地表环境中各事象之间都是相互联系的,当某事象发生变化时就会给其他事象带来影响,甚至发生一系列的变化。读图回答问题。世界各国对此变化应达成的共识是()。
阅读下列史料并回答问题:汉自孝武表章《六经》之后,师儒虽盛,而大义未明,故新莽居摄,颂德献符者遍于天下。光武帝有鉴于此,故尊崇节义,敦厉名实,所举用者莫非经明行修之人,而风俗为之一变。至其未造,朝政昏浊,国事日非,而党锢之流、独行之辈,依仁蹈义,
2020年3月6日,习近平总书记在决战决胜脱贫攻坚座谈会上强调,要严把退出关,坚决杜绝数字脱贫、虚假脱贫,要为党中央适时宣布打赢脱贫攻坚战、全面建成小康社会提供数据支撑,确保经得起历史和人民检验。坚决打赢脱贫攻坚战是()
最新回复
(
0
)