首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件in75.dat中有200组数据,每组有3个数,每个数均为3位数。函数readDat()是读取这200组数存放到结构数组aa中。请编制函数JsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之和,
在文件in75.dat中有200组数据,每组有3个数,每个数均为3位数。函数readDat()是读取这200组数存放到结构数组aa中。请编制函数JsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之和,
admin
2010-01-11
46
问题
在文件in75.dat中有200组数据,每组有3个数,每个数均为3位数。函数readDat()是读取这200组数存放到结构数组aa中。请编制函数JsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之和,其中满足条件的个数作为函数JsSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数按照每组数据的第一个数加第三个数之和的大小进行升序排列(第一个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中。最后调用函数writeDat()把结果bb输出到文件out75.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 ()
{
}
void main()
{
int count;
readDat();
count=jsSort();
writeDat(count);
}
readDat()
{
FILE *in;
int i;
in=fopen("in75.dat","r");
for(i=0;i<200;i++)
fscanf(in,"%d %d %d",&aa
.xl,&aa
.x2,&aa
.x3);
fclose(in);
}
writeDat(int count)
(
FILE *out;
int i;
clrscr();
out=fopen("out75.dat","w");
for(i=0;i<count;i++)
{
printf("%d, %d, %d 第一个数+第三个数
=%d\n",bb
.xl,bb
.x2,bb
.x3,bb
.xl+bb
.x3);
fprintf(out,"%d,%d,%d\n",bb
.xl,bb
.x2,bb
.x3);
}
fclose(out);
}
选项
答案
int jsSort() { int i,j,count=0; Data val; for(i=0;i<200;i++) if(aa[i].x1>aa[i].x2+aa[i].x3) /*如果每组数据中的第一个数大于第二、三个数之和*/ { bb[count].x1=aa[i].x1; /*把满足条件的数据存入结构数组bb中*/ bb[count].X2=aa[i].X2; bb[count].X3=aa[i].X3; count++; /*统计满足条件的数据的组数*/ } for(i=0;i<count-1;i++) /*对bb中的数按照每组数据的第一个数加第三个数之和的大小进行升序排列*/ for(j=i+1;j<count;j++) if(bb[i].x1+bb[i].x3>bb[j].x1+bb[i].x3) { val=bb[i]; bb[i]=bb[j]; bb[j]=val; } return count; /*满足条件的数据的组数*/ }
解析
本题考查的知识点如下:
(1)结构体及结构数组。
(2)数据的排序。
(3)函数的返回值。
本题中,定义了结构类型和结构数组,这就要涉及到结构体和结构数组的访问。相同类型的结构体变量之间可以直接赋值,也可以依次对结构体中的每个变量进行赋值或访问。排序使用“选择排序法”。函数的值通过return语句返回,格式为; return表达式或return(表达式)或return,当函数没有返回值时用第3种格式。在本题中,要用第1种或第2种格式。
转载请注明原文地址:https://kaotiyun.com/show/kb5Z777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
即时通信系统一般采用的通信模式是()。
在实现文件系统时,可采用“目录项分解法”加快文件目录检索速度。假设目录文件存放在磁盘上,每个盘块512字节。文件控制块有64字节,其中文件名占8字节,文件控制块分解后,第一部分占有10字节(包括文件名和文件内部号),第二部分占56字节(包括文件内部号和文件
共享性是操作系统的特征之一,计算机中的各类设备在操作系统管理下实现共享,那么下列哪种设备可以同时共享?()
设系统中有3种类型的资源(A,B,C)和5个进程(P1,P2,P3,P4,P5),A资源的数量是17,B资源的数量是6,C资源的数量为19。在T0时刻系统的状态如下表:系统采用银行家算法实施死锁避免策略,若当前系统剩余资源(A,B,C)分别为(
假设某文件由100个逻辑记录组成,每个逻辑记录长度为80个字符。磁盘空间被划分为若干块,块大小为1024个字符。若采用成组操作,块因子为12,那么磁盘空间的利用率是多少?()
在Internet中,实现异构网络互联的设备通常是()。
UNIX操作系统中,fork()系统调用用于创建进程。仔细阅读、分析下列程序,假设程序正确运行并创建子进程成功,那么输出到屏幕的正确结果是()。main(){pid_tpid;pid=fork();if(
关于媒体内容分发技术的描述中,正确的是()。
随机试题
某公司规定,绿化植物每5天浇一次水,消防设施每4天检查一次,公司办公楼楼梯和走廊每2天拖一次。如果上述三项工作刚好集中在星期四都完成了,那么下一次三项工作集中在同一天完成是在:
肠梗阻紧急手术治疗的适应证为
国际海上运输合同的当事人选择有关合同争议由中国法院管辖。关于当事人对管辖法院的选择,依《民事诉讼法》及《海事诉讼特别程序法》的有关规定,下列哪项是正确的?()
(2007年)两重物的质量均为M,分别系在两软绳上。此两绳又分别绕在半径各为r与2r并固结一起的两圆轮上(见图4—63)。两圆轮构成之鼓轮的质量亦为m,对轴O的回转半径为ρ0。两重物中一铅垂悬挂,一置于光滑平面上。当系统在左重物重力作用下运动时,鼓轮的角加
高速公路沥青路面的面层应采用()。[2007年真题]
下列关于混凝土裂缝处理的说法,正确的是()。
2015年12月,由57国共同筹建的亚洲基础设施投资银行正式成立,其总部设在()。
产业资本划分为货币资本、生产资本、商品资本的依据是资本各个部分
下列叙述中错误的是()。
计算机操作系统是
最新回复
(
0
)