首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
admin
2009-02-24
32
问题
在文件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全国计算机三级
相关试题推荐
A、 B、 C、 D、 BPowerDesigner中ProcessAnalyst用于数据分析和数据发现,使用户能够描述复杂的处理模型以反映他们的数据库模型,产生数据字典,绘制数据流程图等。
下列关于E-R模型向关系数据模型转换的叙述中,正确的是
数据库管理系统能实现对数据库中数据的查询、插入、修改和删除,这类功能由数据库管理系统的()模块完成。
如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。下列不稳定的排序方法是
对关系模式进行规范化的目的是减少数据冗余,并避免出现【】、【】和【】。
双链表的每个节点包括两个指针域。其中rlink指向节点的后继,llink指向节点的前驱。如果要在p所指节点后插入q所指的新节点,下面哪一个操作序列是正确的?
计算机的技术性能指标主要是指
下面列出的数据管理技术发展的三个阶段中,哪个(些)阶段有专门的软件对数据进行管理?Ⅰ.人工管理阶段Ⅱ.文件系统阶段Ⅲ.数据库阶段
密码系统通常从3个独立的方面进行分类:置换密码和易位密码、分组密码和序列密码、【】。
最古老的一种置换密码是由JuliusCaesar发明的_______。
随机试题
注册商标每次续展的有效期为()
神经修复后,其再生速度平均每天
气的上升不足会引起的病变是
为确定腹腔压痛点常用哪种触诊法
场到场(CY/CY),这是一种在______集装箱码头堆场接收货箱,并将其运至______集装箱码头堆场的交接方式。
家庭条件优越但性格内向的任浩,不喜欢和其他小朋友一起玩耍。在学校不遵守校规,经常逃学、旷课。任浩的爸爸向社会工作者小温寻求帮助。小温首先了解了任浩的基本情况,然后围绕整合学校、家庭和社区之间的社会资源为其制定了合理的介入方案。小温的工作体现了社会工作(
下面是一篇初中学生的习作,阅读并完成以下问题。苦难与奇迹①生命中的奇迹往往是苦难的温床,奇迹常常伴随苦难而生。②不能忘记,在大汉王朝中,有一个握笔的勇士,虽遭宫刑却不
下列表述不正确的是()从上述资料中,不能推出的是()
根据我国《宪法》的规定,有权解释宪法的机关是()。
OneofAmerica’smostimportantexportsishermodernmusic.Americanpopularmusicisplayingallovertheworld.Itisenjoyed
最新回复
(
0
)