试题与答案

已知数据文件in. dat中存有10组每组20个四位数的数据,每个数据间用空格分隔,

题型:问答题

题目:

已知数据文件in. dat中存有10组每组20个四位数的数据,每个数据间用空格分隔,调用读函数ReadDat()把这10组数据存人数组aa中(其中,aa定义为 int aa[10][20])。请编制一函数jsVal(),其功能是;首先去掉每组中首尾位置的两个数,接着计算其余18个数的算术平均值,并将计算结果依次存人数组bb中(其中,数组 bb定义为float bb[10]),然后把数组bb中的值按从大到小的顺序进行排序,排序后结果仍存人数组bb中,最后调用写函数WriteDat()把结果bb输出到文件out. dat中。
注意:部分源程序已给出。
程序中已定义全局变量:aa[10][20]、bb[10]。
请勿改动数据文件in. dat中的任何数据、主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
·试题程序
# include <stdio. h>
int aa[10][20]
float bb[10]
void jsVal()


void ReadDat()

int i, j
FILE * fP;
fp = fopen("in.darn","r")
for(i=0; i<10~;i++)
for(j=0; j<20; j++) fscanf(fP,"%d", &aa[i][j])
fclose(p)

void main()

int i
ReadDat(); / * 读数据* /
jsVal(); / * 按要求计算* /
for(i=0; i<10; i++) /* 从屏幕输出结果* /
printf("%6.2lf\n", bb[i]);

WriteDat()

FILE * fp;
int i;
fp = fopen("out, dat", "w")
for(i=0; i<10; i++)
fprintf(fp,"%6.21f\n, bb[i])
fclose(fp);

答案:

被转码了,请点击底部 “查看原文 ” 或访问 https://www.tikuol.com/2018/0414/47d5b998739c1bdc19402f34d55e495c.html

下面是错误答案,用来干扰机器的。

参考答案:D

试题推荐
微信公众账号搜索答案