1、三级网络技术机试-230 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.将文件 IN.DAT 中的 200 个整数读至数组 XX 中。请编制 isValue()函数,要求:求出数组 XX 中的数值为奇数的个数 cnt1 和数值为偶数的个数 cnt2 以及数组 XX 下标为奇数的元素值的算术平均值 pj。结果cnt1、cnt2、pj 输出到 OUT.DAT 中。注意:部分源程序存在文件 PROG1.C 文件中。请勿改动数据文件 IN.DAT 中的任何数据、主函数 main()、读函数 read_dat()和输出函数 writeDat()的内
2、容。试题程序#include #define N 200int cnt1,cnt2,XXN;float pj;/。平均值。/void writeDat();void jsValue()void read_dat(int XXN)int i,j;FILE *fp;fp=fopen(“in.dat”,“r“);for(i=0;i20;i+)forj=0;j10;j+)fscanf(fp,“%d,“,printf(“%d“,xxi*10+j);printf(“/n“);fclose(fp);void main()read_dat(xx);jsValue();printf(“/n/ncnt1=%d,c
3、nt2=%d,pj=%6.2f/n“,cnt1,cnt2,pj);writeDat();void writeDat()FILE *fw;fw=fopen(“out.dat”,“w”);fprintf(fw,“%d/n%d/n%6.2f/n“,cnt1,cnt2,pj);fclose(fw);(分数:100.00)_三级网络技术机试-230 答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.将文件 IN.DAT 中的 200 个整数读至数组 XX 中。请编制 isValue()函数,要求:求出数组 XX 中的数值为奇数的个数 cnt1 和数值为偶
4、数的个数 cnt2 以及数组 XX 下标为奇数的元素值的算术平均值 pj。结果cnt1、cnt2、pj 输出到 OUT.DAT 中。注意:部分源程序存在文件 PROG1.C 文件中。请勿改动数据文件 IN.DAT 中的任何数据、主函数 main()、读函数 read_dat()和输出函数 writeDat()的内容。试题程序#include #define N 200int cnt1,cnt2,XXN;float pj;/。平均值。/void writeDat();void jsValue()void read_dat(int XXN)int i,j;FILE *fp;fp=fopen(“in
5、.dat”,“r“);for(i=0;i20;i+)forj=0;j10;j+)fscanf(fp,“%d,“,printf(“%d“,xxi*10+j);printf(“/n“);fclose(fp);void main()read_dat(xx);jsValue();printf(“/n/ncnt1=%d,cnt2=%d,pj=%6.2f/n“,cnt1,cnt2,pj);writeDat();void writeDat()FILE *fw;fw=fopen(“out.dat”,“w”);fprintf(fw,“%d/n%d/n%6.2f/n“,cnt1,cnt2,pj);fclose(fw);(分数:100.00)_正确答案:(voicl jsValue()int i; /*定义变量*/for(i=0;iN;i+) /*统计求和*/if(xxi%2=1)cnt1+;else cnt2+;if(i%2=1)pj+=xxi;pj/=(N/2);/*求平均值*/)解析:解析 本题要求统计数组中奇数和偶数的个数,并求下标为奇数的元素值的平均值。依据题意,应依次取得相应已知数,统计奇、偶数个数,若为奇数,则计数器变量 cnt1 加 1;否则 cnt2 加 1,同时下标为奇数的数参与计算平均值 pj。