首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件in75.dat中有200组数据,每组有3个数,每个数均为3位数。函数readDat()是读取这200组数存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之和,
在文件in75.dat中有200组数据,每组有3个数,每个数均为3位数。函数readDat()是读取这200组数存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之和,
admin
2010-06-17
54
问题
在文件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全国计算机三级
相关试题推荐
ARM处理器当前运算操所产生的标志位记录在以下()寄存器中?
关于ARM处理器的MMU,以下说法错误的是()。
微波通信是利用频率为300MHz~300GHz电磁波进行的通信,它具有频带宽、容量大的特性,应用广泛。下面不属于微波通信应用的是()。
关于ARMCortex—M处理器的特点,以下说法错误的是()。
集成电路制造技术是嵌入式系统发展的重要基础,下面关于集成电路技术发展的叙述中,错误的是()。
关于ARM嵌入式处理器的工作状态,以下说法正确的是()。
在有线通信中,双绞线的特点是成本【43】、易受外部高频电磁波干扰,误码率较【44】,传输距离有限,主要应用于固定电话回路和计算机局域网等。
下图给出了嵌入式处理器时钟电路的一种设计方法。下面为关于该图及嵌入式系统中时钟电路的叙述,其中错误的是()。
下列关于μC/OS—Ⅱ操作系统任务调度的陈述中,不正确的是()。
m阶B+树的每个结点至多有【】个子女。
随机试题
一份公文的文种要与该份公文的——相互呼应()
龟甲入汤剂应当
国家环境保护总局颁布的《建设项目评价资格证书管理办法》对评价单位有下列()行为,也作出处理规定。
设计水工建筑物时,首先计算建筑物上承受的荷载,然后进行荷载组合。在下列荷载中,()是可变作用荷载。
国际重复征税的免除,包括()。
导游员被一次扣分达到10分,参加年审时应()。
下列表述中不正确的是()。
大连人直面历史,表现出了应有的________,采取了极为________的做法,他们没有“砸碎一个旧世界,建立一个新世界”,而是完好的保留了那些欧式建筑、广场和绿地。依次填入画横线部分最恰当的一项是()。
《送杜少府之任蜀州》是著名送别诗,其作者是“初唐四杰”之一的______。
WhoisMs.Stevens?
最新回复
(
0
)