|
机试七:
已知数据文件IN.DAT中存有10组每组20个四位数的数据, 每个数据间用空格分隔,并已调用读函数readDat()把这10组数据存入数组aa中(其中,aa定义为int aa[10][20]),请考生编制一函数jsVal(), 其功能是: 首先计算每组中的数的最大值和最小值的算术平均值,然后取每组小于其算术平均值的最大一个四位数依次存入数组bb中(其中,数组bb定义为int bb[10],其中bb[0]为第一组中符合条件的数,bb[1]为第二组中符合条件的数,其它依此类推),最后调用输出函数writeDat()把结果bb输出到文件OUT.DAT中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义全局变量: aa[10][20]、bb[10] 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
void jsVal() { int i,j,max1,max2,min,cnt; double aver; for(i=0;i<10;i++) { aver=0.0; cnt=0; min=9999; max1=max2=0; for(j=0;j<20;j++) { if(aa[j]>max1) max1=aa[j]; if(aa[j] } aver=(double)(max1+min)/2.0; for(j=0;j<20;j++) if(aa[j]max2) max2=aa[j]; bb=max2; } }
机试九:
已知在文件IN.DAT中存有N个实数(N<200), 函数ReadDat( )是读取这N个实数并存入数组xx中。请编制函数CalValue( ), 其功能要求:1.求出这N个实数的小数部分值的平均值aver; 2.分别求出这N 个实数中其小数部分值大于平均值aver的该数的整数部分值之和sumint以及该数的小数部分之和sumdec, 最后调用函数WriteDat()把所求的结果输出OUT5.DAT文件中。 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main( )、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
void CalValue(void) { int i ; long val ; float dec ;
for(i = 0 ; i < N ; i++) { val = (long) xx ; aver += xx - val ; } aver /= (double) N ; for(i = 0 ; i < N ; i++) { val = (long) xx ; dec = xx - val ; if(dec > aver) { sumint += val ; sumdec += (xx - val) ; } } }
共5页: 上一页 [1] [2] [3] 4 [5] 下一页
|