2006年9月全国等级考试三级c语言上机题库(七十五)

文章作者 100test 发表时间 2007:03:10 19:22:37
来源 100Test.Com百考试题网


★☆题目75 (无忧ID 10 整数各位数运算及排序题)

在文件in.dat中有200组数据,每组有3个数,每个数均是三位数。函数ReadDat()读取这200组数据存放到结构数组aa中,请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组中的第一个数大于第二个数加第三个数的和,其中满足条件的组数作为函数jsSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第一个数加第三个之和的大小进行升序排列(第一个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数writeDat()把结果bb输出到

文件out.dat中。

部分源程序存在文件prog1.c中。

  请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

#include

#include

#include

typedef struct{

int x1,x2,x3.

}data.

data aa[200],bb[200].

int jsSort()

{ int i,j,cnt=0.

data xy.

for(i=0.i<200.i )

if(aa[i].x1>(aa[i].x2 aa[i].x3)) bb[cnt ]=aa[i].

for(i=0.i

for(j=i 1.j

if(bb[i].x1 bb[i].x3>bb[j].x1 bb[j].x3) { xy=bb[i]. bb[i]=bb[j]. bb[j]=xy.}

return cnt.

}

void main()

{

int count.

readDat().

count=jsSort(). /*返回满足条件的个数*/

writeDat(count).

}

readDat()

{

FILE *in.

int i.

in=fopen("in.dat","r").

for(i=0. i<200. i )

fscanf(in,"%d %d %d",&.aa[i].x1,&.aa[i].x2,&.aa[i].x3).

fclose(in).

}

writeDat(int count)

{

FILE *out.

int i.

clrscr().

out=fopen("out.dat","w").

for(i=0. i

printf("%d,%d,%d 第一个数 第三个数=%d\n",bb[i].x1,bb[i].x2,bb[i].x3,bb[i].x1 bb[i].x3).

fprintf(out,"%d %d %d\n",bb[i].x1,bb[i].x2,bb[i].x3).

}

fclose(out).

}



相关文章


2006年9月全国等级考试三级c语言上机题库(八十四)
2006年9月全国等级考试三级c语言上机题库(七十六)
2006年9月全国等级考试三级c语言上机题库(七十七)
2006年9月全国等级考试三级c语言上机题库(七十四)
2006年9月全国等级考试三级c语言上机题库(七十五)
2006年9月全国等级考试三级c语言上机题库(七十三)
2006年9月全国等级考试三级c语言上机题库(七十一)
2006年9月全国等级考试三级c语言上机题库(七十二)
2006年9月全国等级考试三级c语言上机题库(七十)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛