欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

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

时间:2017-09-25

已知数据文件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 ijktpy; float sum=0 for(i=0; i<10; i++) { for(y=0; y<20; y++) sum=sum+aa[i][y] for(j=0; j<20; j++) { for(k=0; k<19-j; k++) if(aa[i][k]>aa[i][k+1]) { t=aa[i][k]; aa[i][k]=aa[i][k+1]; aa[i][k+1]=t;} } bb[i]=(sum-aa[i][0]-aa[i][1]-aa[ii[9]-aa[i][10])/16; sum=0 }}
void jsVal(){ int i,j,k,t,p,y; float sum=0 for(i=0; i<10; i++) { for(y=0; y<20; y++) sum=sum+aa[i][y] for(j=0; j<20; j++) { for(k=0; k<19-j; k++) if(aa[i][k]>aa[i][k+1]) { t=aa[i][k]; aa[i][k]=aa[i][k+1]; aa[i][k+1]=t;} } bb[i]=(sum-aa[i][0]-aa[i][1]-aa[ii[9]-aa[i][10])/16; sum=0 }}

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。