首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
admin
2009-02-19
34
问题
在文件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://jikaoti.com/ti/GpQ7FFFM
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
在存储系统中,( )存储器属于易失性存储器。
在下面四种半导体存储器中,哪一种采用的是动态随机存取存储器?
Pentium微处理器在保护模式下,为了使存储器管理的页面大小为4MB,PS(pagesizE)和PSE(pagesizeextensions)标志的状态必须设置为()
执行下列程序段后,(DX)=( )。 MOV CX,8 MOV DX,12 LP: ADD DX,CX DEC CX LOOP LP
在386处理器的保护模式中,处理器提供了4级“保护环”,即分为4个环。在Windows98系统中,系统只使用了其中的哪两环?
人们说话所产生的语音信息必须经过数字化之后才能由计算机进行存储和处理。语音信号的带宽通常为300~3400Hz,经过数字化之后每秒钟产生的数据量(未压缩时)大约是
在IBM-PC/XT微机中,字符/图形显示缓冲区的地址分配方法是( )。
构建无线局域网的技术除了采用802.11(Wi—Fi)之外,另一种常用的是【45】技术,它是一种短距离、低速率、低成本的无线通信技术,其最高数据传输速率为1Mbps左右,传输距离大约在【46】m之内。
集成电路制造技术是嵌入式系统发展的重要基础,下面关于集成电路技术发展的叙述中,错误的是()。
SoC芯片中的CPU绝大多数是以IP核的方式集成在芯片中的,很少再自行设计开发。目前32位嵌入式处理器主要采用的是由【41】国一家专门从事RISC处理器内核设计公司设计的【42】内核。
随机试题
A.筒箭毒碱B.十烃季铵C.六烃季铵D.阿托品N1受体的选择性拈抗剂是
下列哪项疾病不会导致意识障碍()
A.肌糖原B.肝糖原C.葡萄糖D.脂肪E.蛋白质哪种糖原可供肌肉收缩的需要
治疗霉菌性阴道炎,局部用药应首选
房源开拓的原则主要有()。
()不可用于工资、奖金的支取。
证券期货监督管理部门的工作人员,故意销毁交易记录,诱骗投资者买卖证券、期货合约,造成严重后果的,应接受的刑事处罚措施有()。Ⅰ.处以拘役Ⅱ.单处1万元以上10万元以下罚金Ⅲ.处5年以上10年以下有期徒刑Ⅳ.并
(2018年)某股份有限公司首次公开发行普通股,股票面值总额为6000万元,发行收入总额为36000万元,发行费用按照发行收入总额的3%计算。该公司因发行股票计入资本公积的金额为()万元。
发文字号“国发(2007)23号”包含的要素有()。
根据以下材料,回答下列小题。2011年,上海文化创意产业从业人员118.02万人;实现总产出6429.18亿元,比上年增长16.9%;实现增加值1923.75亿元,比上年增长13%,占地区生产总值比重达到10.02%,而2008年时,这一占比为9
最新回复
(
0
)