首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
admin
2009-02-19
37
问题
在文件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全国计算机三级
相关试题推荐
DMA与程序中断方式相比,其主要特点是______。
PC机中有一种类型为.mid的文件,下面是关于此类文件的一些叙述,其中错误的是:
通常所说的32位计算机是指______。
JPEG是一种图像压缩编码,在允许有失真但又不易被察觉的要求下,JPEG一般能将图象数据压缩多少倍?
8259A多片级联时需要使用ICW3,写入主片8259A和写入从片8259A的格式是不同的。如果仅有一个从片8259A且其INT接到主片8259A的IRQ2端,则主片8259A的ICW3=00000100B,从片8259A的ICW3=xxxxx
被连接的汇编语言程序模块中,下面( )分段定义伪指令语句所使用组合类型是不可设为默认的。
在Windows98操作系统启动时,引导的过程按顺序排列应该是( )。 ①装入实模式的设备驱动程序 ②装入操作系统 ③装入并初始化静态vxd ④执行BIOS 程序
S3C2410与一位数码管的连接如下图所示,假设8段数码管为共阳接法。U1作为锁存器(同相),并用于驱动。为使下图中的数码管显示字符“0”的汇编语言程序片段如下,填空使程序语句完整(假设端口已经初始化为输出)。
为提高SoC芯片设计效率,减少重复开发,通常将合格的经过验证的IC设计文件存储在数据库中,供反复使用。这些IC电路具有固定的不可再分解的功能特性,并受到知识产权保护,人们称之为“知识产权核”或“IP核”。按照IC设计文件的类型,IP核通常分为三种_____
小端模式下ARM指令序列如下:LDRR0,=0x13579246LDRR1,=0x10000000STRR0,[R1,#R]!执行后,内存0x10000008中的值=【55】_______,R1=【56】___
随机试题
治疗血虚配伍补气药的理论基础是()
以下哪个是腹腔干的分支?()
某公司A,名下有一幢写字楼,共七层,每层建筑面积均为700m2,其中六、七两层留以自用,其余用于出租,其出租率为90%,租金为每平方米7元/日,高于同类写字楼的6元/(日·m2)。该写字楼正常的管理总费用占租金的10%,同类写字楼出租的年利润为2
单层工业厂房结构的特点有()。
王某因非法出售发票罪被判处有期徒刑5年并处罚金30万元,执行2年后,司法机关又发现其在判决宣告前还犯有非法出售增值税专用发票罪,依法应判处有期徒刑10年并处罚金50万元。根据刑事法律制度的规定,对王某应当数罪并罚,下列说法正确的是()。
在客户风险监测指标体系中,资产增长率和资质等级分别属于()
大华公司因经营管理不善、发生严重亏损,不能偿还到期债务,法院依法宣告该公司破产。有关清算材料显示,该公司资产分别为:厂房作价2800万元(其中有700万元抵押给银行贷款),机器设备作价1500万元,土地使用权转让所得4500万元。该公司对外投资600万元。
在考生文件夹下Form文件夹中建立一个新文件夹Sheet。
Forhundredsofmillionsofyears,turtles(海龟)havestruggledoutoftheseatolaytheireggsonsandybeaches,longbeforeth
Whensocialscientistsusethetermculturetheytendtobetalkingaboutalessrestrictiveconceptthanthatimpliedineveryd
最新回复
(
0
)