首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
admin
2009-02-24
60
问题
在文件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>
typede f 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/RRYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
通常一台计算机系统的存储介质包括Cache、内存、磁带和硬盘,其中访问速度最慢的是()。
有一个网络数据库应用系统,其中一台计算机A存有DBMS软件、所有用户数据和应用程序,其余各节点作为终端通过通信线路向A发出数据库应用请求,这种方式属于
从WWW的资源和行为中抽取感兴趣的、有用的模式或隐含的信息的过程,称为【】挖掘。
下列关于分布式数据库系统特点的叙述中不正确的是
在SYBASE数据库产品中提供面向对象的数据库建模工具的是
由于逻辑错误或系统错误使得事务没有按预期的要求成功完成,这属于()。
在点一点网络中,分组从通信子网的源节点到达目的结点的路由是由______决定的。
在UML模型中,用于表达一系列的对象、对象之间的联系以及对象间发送和接收消息的图是____________。
在SQLServer2008中,有两种身份验证模式,一种是混合身份验证模式,另一种是【9】身份验证模式。
在公钥密码体制中,用于加密的密钥为
随机试题
看守所值班武警甲擅离职守,重大案犯乙趁机逃脱。关于本案,下列哪些选项是正确的?()
A.心悸,气喘,胸闷,脉结B.咳嗽,咯痰,胸闷,气喘C.畏冷,肢凉,舌胖,脉迟D.浮肿或久泄,完谷不化上述哪项为阳虚证的共有症
鼻咽拭子的除菌处理是:加抗生素终浓度为20000U/ml,4℃作用
患者,女性,5岁,再生障碍性贫血入院。因经济困难,难以维持治疗。医生对其进行捐款。关于医生对患者的同情感,下列理解错误的是
以下各选项中,应用最广泛的统计离散程度的测度方法是()。
单位派挂职:问你选基层还是上级去挂职锻炼。
拉美西斯二世
抢劫罪与以勒索财物为目的的绑架罪的主要区别是()。
以下______方式属于“先消费后付款”。
SuzanFellmanhadahardtimewithLauraBush’sredoofthefamedguestquartersnamedforPresidentLincoln;"Lookingatit,I
最新回复
(
0
)