首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
admin
2009-02-19
59
问题
在文件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://www.kaotiyun.com/show/CYcZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
下面是有关PC机性能的叙述,其中错误的是( )。
加速图形端口AGP是为高性能图形和视频支持而设计的一种专用总线。AGP1X模式的数据传输率为266MB/s,AGP2X模式的数据传输率为【 】。
下列( )不是现今打印市场的发展趋势。
为了提高I/O设备的使用效率,操作系统必须支持I/O设备的共享,并优化这些设备的使用。在Windows98中,对于独占设备(如打印机等),系统使用了某种技术,把它们改造成以顺序并发方式使用的共享设备。这种技术称为_______。
因特网的服务器中所存放并提供给网络浏览器阅读的是一种功能更强、结构更加复杂的【 】超文本,这种超文本的不同结点可能存放在因特网中的另外一台Web服务器。
在Windows98操作系统启动时,引导的过程按顺序排列应该是( )。 ①装入实模式的设备驱动程序 ②装入操作系统 ③装入并初始化静态vxd ④执行BIOS 程序
GDB是GNU开发工具套件中调试程序的工具,其装入需要调试的可执行文件命令是【77】命令,终止当前被调试程序运行的命令是【78】命令。
在μC/OS-Ⅱ中,OSSched()函数是任务调度的前导函数,用于判断进行任务调度的条件是否满足。下列满足条件的变量值为()。
二维数组A[0…8,0…9],其每个元素占2字节,从首地址400开始,按行优先顺序存放,则元素A[8,5]的存储地址为
在下面列出的条目中,哪个(些)是当前应用开发工具的发展趋势? Ⅰ.采用3层或多层Client/Server结构 Ⅱ.支持Web应用 Ⅲ.支持开放的、构件式的分布式计算环境
随机试题
A.全国人民代表大会及常务委员会B.国务院C.国务院卫生行政主管部门D.省、自治区、直辖市人民政府E.县级以上人民政府可以决定并宣布跨省、自治区、直辖市疫区的政府部门是
关于电梯的表述,下列哪项是错误的?[2006年第102题][2007年第102题]
下列账户中,()期末一般无余额。
配对(Matching)法的特征有()。
下列犯罪行为,应按数罪并罚的原则处理的有()。
-3,7,(),30,76,212
唐高宗李治在位时期完成的《唐律疏议》是一部极为重要的法典,全面体现了中国古代法律制度的______、风格和基本特征,成为中华法系的______性法典,对后世及周边国家产生了极为深远的影响。填入画横线部分最恰当的一项是()。
设数列{an}满足an一1an=anan一1,且a1=,则数列的前十项之和为
Hischarmandthefactthatheissolikeableoftenallowshimtoget________withmurder.
Thenewbrandspecializesin_______high-qualityfoodforbabies.
最新回复
(
0
)