首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
admin
2009-02-24
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>
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全国计算机三级
相关试题推荐
在一棵二叉树的先序遍历、中序遍历、后序遍历所产生的序列中,所有叶节点的先后顺序
数据库系统中构成单一逻辑工作单元的操作集合称为【】。
用于生产过程控制的系统一般都是【】系统,它要求具有对输入数据及时做出反应(响应)的能力。
若构成文件的基本单位是字符,这一类文件称为()。
若用如下的SQL语句建立一个Worker表:CREATETABLEworker(NOC(4)NOTNULL,NAMEC(8)NOTNULL,SEXC(2),AGEN(2))可以插入到worker表中的是______。
有程序编制如下。数组中的每个元素为一个字。假设页面大小为每页128个字,数组中的每一行元素存放在一页中。系统为该程序提供一块内存,开始时内存为空。VARA:ARRAY[1••256,1••128]OFinteger;FORj:=1TO128
一台主机的IP地址为202.112.144.125,子网掩码为255.255.255.248,那么这台主机的主机号为()。
下列关于日志备份的说法中,错误的是()
云计算包含互联网上的应用服务及在数据中心提供这些服务的软硬件设施,通常包括软件即服务、平台即服务、基础设施即服务。其中_______即服务是指通过网络提供操作系统和相关服务,而无需下载或安装。
在SQLServer2008中,设log1是SQLServer身份验证模式的数据库服务器登录帐户。现要授予log1具有创建数据库的权限,请补全下列语句:EXECsp_addsrvrolemember’log1’。’【9】’
随机试题
急性心包炎早期具有诊断价值的症状或体征是什么?
A.丹栀逍遥散B.柴胡疏肝散C.龙胆泻肝汤D.至宝丹E.苏合香丸治疗胁胀痛,走窜不定,胸闷气短,嗳气频作,纳呆,舌苔薄,脉弦,应首选
旋转阳极启动与保护装置不包括
建筑物现值是建筑物的原始购建价格扣除使用过程中的折旧(价值减损)后的余额。()
应承包人要求,发包人提交的保证履行合同中约定的工程款支付义务的担保称为()。
头脑风暴法是为克服()抑制不同见解而设计的。
简述产业组织模型与资源基础模型的区别。
心理学是怎样产生的?现代自然科学在心理学的产生中有什么作用?
证明:用二重积分证明e-x2dx=.
常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示______,用带空心圆的箭头表示传递的是数据。
最新回复
(
0
)