机试五:
已知数据文件IN.DAT中存有10组每组20个四位数的数据, 每个数据间用空格分隔,并已调用读函数readDat()把这10组数据存入数组aa中(其中,aa定义为int aa[10][20]),请考生编制一函数jsVal(), 其功能是: 首先计算每组中的数中十位数位置上的数字是3、6、9的数的算术平均值,然后取每组小于其算术平均值的最大一个四位数依次存入数组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,max,cnt,sw;
double aver;
for(i=0;i<10;i++)
{ aver=0.0; cnt=0; max=0;
for(j=0;j<20;j++)
{ sw=aa[j]0/10;
if(sw==3||sw==6||sw==9) { cnt++; aver+=aa[j];}
}
if(cnt==0) aver=0.0;
else aver/=(double)cnt;
for(j=0;j<20;j++)
if(aa[j]max) max=aa[j];
bb=max;
}
}
机试六:
已知在文件IN.DAT中存有N个实数(N<200), 函数ReadDat( )读取这N个实数并存入数组xx中。请编制函数CalValue( ), 其功能要求是:
1.求出这N个实数的平均值aver;
2.分别求出这N个实数的整数部分值的平均值averint 以及其小数部分值的平均值averdec。
最后调用函数WriteDat( )把所求的结果输出到文件OUT10.DAT中。
注意: 部分源程序存放在PROG1.C中。
请勿改动主函数main( )、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
void CalValue(void)
{
int i ;
for(i=0; i
aver += xx ;
averint += (int) xx ;
}
averdec = aver - averint ;
aver /= (double) N ;
averint /= (double) N ;
averdec /= (double) N ;
}
机试七:
已知数据文件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) ;
}
}
}
责任编辑:小草