问答题
已知数据文件in.
dat中存有10组每组20个四位数的数据,每个数据间用空格分隔,调用读函数ReadDat()把这10组数据存人数组aa中(其中,aa定义为int aa
[10][20])。请编制一函数jsVal(),其功能是:首先将每组20个数按从小到大的顺序进行排序,排序后的结果仍存人数组aa中,接着去掉每组中最中间的两个数以及最小的两个数,然后计算其余16个数的算术平均值,并将计算结果按组的顺序依次存人数组bb中(其中,数组bb定义为float
bb[10]),最后调用写函数WriteDat()把结果bb输出到文件out.dat中。
注意:部分源程序已给出。 程序中已定义全局变量:aa[10][20]、bb[10]。
请勿改动数据文件in. dat中的任何数据、主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
·试题程序 # include
int aa[10][20]; float bb[10];
void jsVal() {
} void ReadDat() {
int i,j; FILE
* fp; fp=fopen("in, dat","r");
for(i=0; i<10; i++)
for(j=0 d<20; j++) fseanf (fp,"%d", &aa[i][j])
fclose(fp); }
void main() int i;
ReadDat(); /*读数据*/
jsVal(); / *按要求计算* /
for(i=0;i<10;i++) /*从屏幕输出结果*/
prinff("%6.21f\n", bb[i])
WriteDat(); / *输出结果到文件* / }
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); }
【参考答案】
void jsVal()
{ int i,j,k,t,p,y;
float sum=0
for(i......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)