首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
admin
2009-02-19
74
问题
在文件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机性能的叙述,其中错误的是( )。
执行下列程序段后,(DX)=( )。 MOV CX,8 MOV DX,12 LP: ADD DX,CX DEC CX LOOP LP
8259A多片级联时需要使用ICW3,写入主片8259A和写入从片8259A的格式是不同的。如果仅有一个从片8259A且其INT接到主片8259A的IRQ2端,则主片8259A的ICW3=00000100B,从片8259A的ICW3=xxxxx
在人机交互设备与人机接口之间的信息传输中,目前大多数采用上【 】通信方式。
CPU从I/O接口的______中获取外部设备的“准备好”、“忙”或“闲”等状态信息。
安装了Windows98的PC机可以在三种不同的网络中起不同的作用,它们分别是远程网络、客户机/服务器网络和对等式网络。如果某局域网中,所有的主机(计算机)均使用Windows98操作系统,则该网络属于【 】。
计算机中“处理器”的基本功能是:从存储器中取出指令,按指令的要求,对数据进行算术或逻辑运算,并把运算结果留在处理器中或送回存储器。下面关于处理器的叙述中,不正确的是( )。 ①处理器主要由运算器和控制器组成,它包含若干“寄存器”,用来临时存放数
嵌入式系统的存储器以半导体存储器为主。随着技术的不断发展,新型存储器不断出现,主要包括FRAM和MRAM,分别称为__________【59】存储器和__________【60】存储器。
在μC/OS-II启动过程中,BootLader执行完毕后,执行应用程序主文件中main()时,依次执行的三个主要的函数是:①OSInit();②【67】_______;③【68】_______。
小端模式下ARM指令序列如下:LDRR0,=0x13579246LDRR1,=0x10000000STRR0,[R1,#8]!执行后,内存0x10000008中的值=【55】,R1=【56】。
随机试题
成本/产出/效益分析是指建立在()基础上的一种数量分析方法.
患者胆囊颈部有一直径1.7cm不规则实性结节,基底较宽,可能是
下列关于免疫学测定细胞因子,哪项是正确的
不是从社会生态学观念出发来划分城市化的是()。
执行分析程序,确定重要性水平,分析审计风险属于审计的()。
【2015年广西.判断】在教育的基本要素中,起主导作用的是教育影响。()
有人说,高科技是爱情的杀手,那会让人少了太多“见字如面”的撕裂感。足球也是一样,过于潮流且缺少个性的_______踢法,很容易让人_______在欧盟一体化的世界里,仿佛分不清俱乐部和国家队的区别,亦找不见国家队名头背后的_______。填入划横
已知α1,α2,…,αt都是非齐次线性方程组Ax=b的解,如果c1α1+c2α2+…+ctαt仍是Ax=b的解,则c1+c2+…+ct=___________.
Oldpeoplearealwayssayingthattheyoungarenotwhattheywere.Thesame【C1】______ismadefromgenerationtogenerationand
A、Thatthelibraryopensat8:00.B、Thatnooneelsehasreadthearticles.C、Thatnoneofthematerialheneedsisavailable.
最新回复
(
0
)