首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
admin
2009-02-19
58
问题
在文件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全国计算机三级
相关试题推荐
关于ASCII码字符集中的字符,下面叙述中正确的是( )。
Pentium微处理器进行存储器读操作时,在时钟周期T1期间,完成下列操作( )。
下列指令中,正确的指令是( )。 Ⅰ MOV DX,[CX] Ⅱ MOV BX,AX Ⅲ ADD 2000H,CX Ⅳ MOV MA,MB;其中MA和MB是两个存储器
下面是有关PC机性能的叙述,其中错误的是:
PC机主板芯片组器件使用从00H~FFH的I/O端口地址,其他I/O设备使用的地址为______。
为了实现数据终端设备之间的通信,在通信网络中必须设置交换中心,以便为需要通信的数据终端建立通信链路,通信结束后再拆除链路。目前在Internet网络中使用的交换技术主要是( )。
汇编语言的指令语句格式为______。
下面( )不是文件系统的功能。
数据模型通常由3部分组成,它们是()、数据操作和完整性约束。
设只包含根节点的二叉树的高度为0,则高度为k的二叉树的最小节点数为_____。
随机试题
女性患童,6岁,高热,惊厥,神志不清,颈项强直。病理反射(+),脑脊液压力高,脓性,不宜用
关于腹股沟管的叙述,正确的是
鸡内金的炮制方法是
某大型企业计划在自然疫源地兴建旅游建设项目,在征询意见时,有专家提醒,根据《传染病防治法》规定,应当事先由法定单位对该项目施工环境进行卫生调查。该法定单位是()
在水、稀盐酸或氢氧化钠溶液中均不溶解的为
混凝土中掺入减水剂,如果保持工作性和强度不变的条件下,可节约水泥的用量。
()是教材编写、教学评估和考试命题的依据,是国家管理和评价课程的基础。
科学的发展总带给人类崭新的思维方式。比如,在大数据背景下,人类的许多行为都是可以被预测的。从这个角度看,人类的行为并不是互不相关的独立事件,而是相互关联的数据网络中的一个片段。在这张数据大网之中,许多事件的相关性与其发展的规律变得有迹可循。再比如,日常生活
根据下列材料,回答下列问题。在一项双耳分听实验中,给被试的双耳同时呈现靶子词和非靶子词,要求被试追随双耳中听到的靶子词。实验设置了四种条件:(1)感觉可辨别度低、语义可辨别度高;(2)感觉可辨别度低、语义可辨别度低;(3)感觉可辨别度高、语义可辨
It’sanannualback-to-schoolroutine.Onemorningyouwavegoodbye,andthat【C1】______eveningyou’reburningthe;late-nightoi
最新回复
(
0
)