首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件in75.dat中有200组数据,每组有3个数,每个数均为3位数。函数readDat()是读取这200组数存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之和,
在文件in75.dat中有200组数据,每组有3个数,每个数均为3位数。函数readDat()是读取这200组数存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之和,
admin
2010-06-17
62
问题
在文件in75.dat中有200组数据,每组有3个数,每个数均为3位数。函数readDat()是读取这200组数存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之和,其中满足条件的个数作为函数jsSort()的返回值,同时把满足条件的数据存入结构数组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
.x1,&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++)
{
print f ( "%d, %d, %d 第一个数+第三个数
=%d\n", bb
.x1,bb
.x2,bb
.x3,bb
.x1+bb
.x3);
fprintf(out,, %d,% d,% d \n" ,bb
.x1,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 [j]. 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/bBvZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
在μC/OS—II操作系统中有多种方法可以保护任务间的共享数据并支持任务之间的通信。下列各项中不能用于保护任务间的共享数据或支持任务间通信的是()。
嵌入式应用程序经过交叉工具链生成映像文件之后,需要下载到【77】进行调试。调试完毕后映像文件必须由专用工具烧写到ROM中去,这种烧写工具俗称【78】。
集成电路制造技术是嵌入式系统发展的重要基础,下面关于集成电路技术发展的叙述中,错误的是()。
关于ARM处理器的工作模式,以下说法正确的是()。
下面是关于基于ARM内核的嵌入式芯片中的中断控制器的叙述,其中错误的是()。
按照内核结构分类,VxWorks属于【73】内核操作系统,这类内核的特点包括:功能扩充方便,各个功能之间因切换而引起的开销比较【74】。
在经典ARM处理器中ARM920T是典型代表,采用ARM9TMDI内核,它具备的主要性能和部件包括()。①支持ARM/Thumb指令集②具有快速乘法器③哈佛结构④指令Cache与数据Cache分离⑤五级流水线⑥具有MMU⑦唤醒
在μC/OS—II操作系统中,某任务的代码正在执行,则该任务应处于_________【75】态。若该任务需要等待键盘中断服务程序向其发送信息,则该任务转变为_________【76】态。
在μC/OS–II操作系统中,宏【73】()使系统进入临界状态,其主要操作是关闭所有可屏蔽中断,避免其他任务或中断服务程序打断临界区代码的执行。当需要实现对不可分割数据的原子访问时,μC/OS–II也可以调用函数void【74】(void)锁定任务调度
互联网的各个物理网络使用的数据包格式可能相互不兼容,因此不能将一个网络送来的包直接传递给另外一个网络。为了克服这种异构性,【43】协议定义了一种独立于各个物理网的数据包的格式,称为【44】。
随机试题
张某自新加坡归国,恰逢该国传染病SARS流行。张某被怀疑已感染该病,故一下飞机即被有关机关依法强制隔离治疗,则:
房地产企业向社会出售、出租房地产产品或利用房地产自营时所获得的货币收入,称为()。
中断供电将造成主要设备损坏,大量产品报废,连续生产过程被打乱需较长时间才能恢复的负荷应为()。
()是指与拟建项目有利害关系的个人、群众或机构。
飞机库地下室的耐火等级应为()级。
关于收入,下列说法中正确的有()。
丙公司是从事传统运输与仓储的大型国有企业。为了转型成为第四方物流(即一站式集成服务),丙公司进行了SWOT分析。下列各项表述中,符合该公司SWOT分析要求的是()。
王某系艾滋病患者,在传染病医院隔离治疗期间,擅自逃出医院回家。为防止艾滋病传播,对王某可以采取的措施是()。
在产业资本循环的生产阶段,资本的形态变化是由()
有如下赋值语句,结果为“大家好”的表达式是()。a="你好"b="大家"
最新回复
(
0
)