首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
admin
2009-02-15
22
问题
在文件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[ii.xl, &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)”来实现。如果该条件成立,则把被判断元素存放到数组比中去,当符合条件的所有元素被找完后,按照“每组数据中的第二个数加第三个数之和的大小”进行从大到小的排序。解答本题的关键是要弄清被处理对象是结构体变量中的某个域,而不是结构体变量本身。
转载请注明原文地址:https://jikaoti.com/ti/Uah7FFFM
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
下列选项中,属于网络平台采用层次结构的优点是()。①结构清晰、接口开放、标准规范②各层功能实体之间的定位清楚③具有可靠性、可扩展性与开放性④便于组建和管理
下列选项中,不属于NAT技术的适用领域是()。
5.某局域网的Internet接入拓扑结构如图7-10所示,在路由器Router上定义一条到达lnernet的默认路由,完成此任务的配置语句是______。
下列选项中,关于OSPF协议技术特征的描述不正确的是()。
下列选项中,不属于链路状态的“度量”因素是()。
下列选项中,属于共享硬盘服务系统的缺点是()。
能够提供网络用户访问文件和目录的并发控制,而且具有安全保密措施的局域网服务器是()。
常见的电子邮件协议有以下几种:SMTP、[16]、IMAP。这几种协议都是由[17]协议簇定义的。[18]主要负责底层的邮件系统如何将邮件从一台机器传至另外一台机器;[19]是把邮件从电子邮箱中传输到本地计算机的协议:[
在IPv6中,地址被扩充为128位,并且为IPv4保留了一部分地址空间。按照IPv6的地址表示方法,以下地址中属于lPv4地址的是______。
下列关于网络接入技术和方法的描述中,错误的是______。A)“三网融合”中的三网是指计算机网络、电信通信网和广播电视网B)宽带接入技术包括xDSL、HFC、SDH、无线接入等C)无线接入技术主要有WLAN、WMAN等D)CableMod
随机试题
燃烧速率标志火药能量释放的能力,火药的燃烧特性主要取决于火药的()。
诊断心的病证,哪种表现最为典型
患者,男,40岁。因剑突下烧灼感与反酸3个月就诊,反流物呈酸性,胃灼热与反酸常发生在餐后,进食时胸骨后有梗塞感。问题2:此种患者最适宜的体位是
急性梗阻性化脓性胆管炎的最常见的梗阻因素是( )。
房地产经纪人在协助买卖双方交验住宅时,正确的做法有()。
汉译英:“报关行;出口结关”,正确的翻译为( )。
对单一法人客户的财务报表分析主要是对资产负债表和财务比率进行分析。()
甲企业没有优先股,2016年发行在外的普通股股数没有变化,2016年年末的每股净资产为12元。2016年的每股收益为4元,每股股利为1元,2016年的净资产增加了900万元,2016年年末的资产总额为10000万元,则2016年末的资产负债率为(
下列判断正确的有()。(1)“十一五”期间该地区每年“科研基建费”均多于“其他费用”(2)“十一五”期间该地区专业技术人员人均财政科技拨款逐年增加(3)“十一五”期间该地区财政科技拨款总和不到3500亿元
Sendingyourchildrentopianoorviolinlessonsinabid(努力)toboosttheiracademicachievementisawasteofmoney,according
最新回复
(
0
)