首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件in75.dat中有200组数据,每组有3个数,每个数均为3位数。函数readDat()是读取这200组数存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之和,
在文件in75.dat中有200组数据,每组有3个数,每个数均为3位数。函数readDat()是读取这200组数存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之和,
admin
2010-06-17
23
问题
在文件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://jikaoti.com/ti/rX97FFFM
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
以下关于VxWorks操作系统的叙述中,错误的是()。
下面的描述语句中不正确的是()。
嵌入式系统开发时,应该根据应用需求来选择相应的开发工具软件。RVDS是一个较常用的开发工具软件,下面的有关叙述中错误的是()。
程序存储器和数据存储器仅用一套总线与CPU连接的这种存储结构称为【47】_______结构,程序存储器和数据存储器分开采用两套总线与CPU连接的存储结构称为【48】_______结构。
当有普通外部中断发生,系统将进入外部中断模式,相应寄存器的低5位变成10010B,该寄存器为()。
若把嵌入式系统设计开发过程分为:系统需求分析与规格说明、系统设计、构件设汁、系统集成与测试等4个阶段。下面的说法中,恰当的是()。
在小端模式下,通过ARM伪指令MyDataDCW0x1122,0x3344,0x5566,0x7788在内存中定义了4个16位操作数,则在伪指令LDRR1,=MyData后执行指令LDRR0,[R1,#4],则R0的值为()。
下图是嵌入式系统硬件部分的逻辑组成及其与外部世界关系的示意图,其中的组成部分A是【41】_______;组成部分B是【42】_______。
至(54)题基于以下的叙述:有关系模式A(C,T,H,R,S),其中各属性的含义是:C:课程T:教员H:上课时间R:教室S:学生根据语义有如下函数依赖集:F={C→T,(H,R)→C(H,T)→R,(H,S)→R}(52)关系模式A的
______可能引起磁头臂频繁大幅度移动。
随机试题
关于庭前会议,下列哪些选项是正确的?()
斜齿轮的法向齿距指垂直于()上相邻两齿的对应点在分度圆周上的弧长。
简述管理方格理论。
十进制数215用二进制数表示是()
子宫颈早期浸润癌是指癌浸润深度
甲、乙两队合作收割一块稻田,7小时可以完成。两队共同收割5小时后,甲队所有队员及乙队人数的1/5调做其他工作,又经过6小时,全部收割完,甲队单独收割这块稻田需要多少小时?
在VisualFoxPro系统环境下,可以在【】中将系统的各个文件组装在一起。
CustomsofficersataLondonairportyesterdayfound$500000worthofdrugswhichwerebeingsmuggledintoBritaininboxesma
NearlyeveryonehasrealizedthatMicrosoftbuyingHotmailhasillustratedtheparadoxofInternet.Socialnetworkinghasitse
Wesometimesthinkhumansareuniquelyvulnerabletoanxiety,butstressseemstoaffecttheimmunedefensesofloweranimalsto
最新回复
(
0
)