首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和
admin
2009-02-19
42
问题
在文件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://kaotiyun.com/show/CYcZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
指令ADDCX,[SI+10H]中源操作数的寻址方式是( )。
汇编语言源程序经汇编后不能直接生成( )。
在现代微机CPU中,都采用了流水线结构,其特点是( )。
串操作指令中,有REP前缀的串操作指令结束的条件是( )。
用户的作业一般可以分为两大类;批量型和【 】。
下图为基于ARM嵌入式芯片的嵌入式系统的键盘接口。下面关于该键盘接口的叙述中,错误的是()。
μC/OS-II操作系统启动的过程中,Bootloader执行完毕后,调用应用程序主文件(通常是main.c)里的main()函数。main()函数在执行过程中,除了用户函数和硬件初始化函数之外,需要执行以下三个主要的μC/OS-II函数:Ⅰ.OSSta
为了使操作系统容易在不同的硬件平台上进行移植,一些嵌入式操作系统包含有一个硬件抽象层,硬件抽象层的英文缩写是【71】,它位于【72】和硬件之间,从而隐藏了硬件平台的差异,避免了操作系统对硬件的直接访问。
如存储器的工作频率为333MHz,数据线宽度为32位,每个周期传输1次数据,则存储器的带宽=【63】MB/s。若存储器总线采用串行总线,以10位为一个数据帧(包含一个字节的存储数据),则总线带宽=总线频率/【64】。
利用下图LED数码管接口显示字符“A”的汇编语言程序片段如下,请填空将语句补充完整。MOVR0,#【65】;“A”的共阳编码,用16进制表示LDRR1,=0x10000000;指向nGCS2段中的任何一个地址STRBR0,【66】;写入外部锁存
随机试题
甲船舶股份有限公司(简称甲公司)主营业务为复合材料各类船艇的设计、研发、生产、销售和服务,最近一个会计年度经审计的资产总额为58400万元,其股票在上海证券交易所上市交易。甲公司控股股东为A旅游开发公司(以下简称A公司),其持股比例为50%。A公司还拥有B
简述气管插管的适应证。
A.清热解毒,宁心安神B.涤痰活血,化瘀通络C.益气养血,化瘀通络D.辛凉解表,清气泄热E.养阴清热化脓性脑膜炎邪在卫气证的治法是
试回答突起路标检验项目的相关问题。突起路标出厂检验不检项目为()。
我国《保险法》将保险的业务范围规定为()两大类。
教师的知识结构包括()。
基础教育课程改革要求实行国家、地方、学校三级课程管理。()
2011年1~9月,全国造船完工5101万载重吨,同比增长18.3%,9月当月完工786万载重吨,环比增长67.2%,新承接船舶订单规模2902万载重吨,同比下降42.8%,手持船舶订单规模16886万载重吨,同比下降13.8%,比2010年底下降14.5
Nowadays,amateurphotographyhasbecomeatroublingissue.Citizensofrichcountrieshavegotusedtobeingwatchedbyclosed-
Ialmostsingeverysongoutof______eachtimeItrytohitthehighnotes.
最新回复
(
0
)