1、三级数据库技术-499 及答案解析(总分:100.00,做题时间:90 分钟)一、设计与应用题(总题数:1,分数:100.00)1.将文件 in.dat 中的 200 个整数读至数组 xx 中。请编制 jsValue()函数,要求:求出数组 xx 中的数值为奇数的个数 cnt1 和数值为偶数的个数 cnt2 以及数组 xx 下标为奇数的元素值的算术平均值 pj。 结果 cnt1,cnt2,pj 输出到 out.dat 中。 请勿改动数据文件 in.dat 中的任何数据、主函数 main()、读函数 read_Dat()和输出函数 writeDat()的内容。 #include stdio.h
2、#define N 200 int cnt1, cnt2, xxN; float pj; /平均值 void writeDat(); void jsValue() /*read_dat(int xxN)函数将文件 in.dat 中的 200 个整数读至数组 xx 中*/ void read_dat(int xxN) int i, j; FILE *fp; fp=fopen(“in.dat“, “r“); for(i=0; i20; i+) for(j=0; j10; j+) fscanf(fp, “%d, “, /从文件 in.dat 中读取一个整数存入数组元素 xxi*10+j中 print
3、f(“%d“, xxi*10+j); printf(“n“); fclose(fp); void main() read_dat(xx); jsValue(); printf(“nncnt1=%d, cnt2=%d, pj=%6.2fn“, cnt1, cnt2, pj); writeDat(); /*将计算结果 cnt1, cnt2, pj 输出到 out.dat 中*/ void writeDat() FILE *fw; fw=fopen(“out.dat“, “w“); fprintf(fw, “%dn%dn%6.2fn“, cnt1, cnt2, pj);/cnt1, cnt2, pj
4、 写入到 out.dat 中 fclose(fw); (分数:100.00)_三级数据库技术-499 答案解析(总分:100.00,做题时间:90 分钟)一、设计与应用题(总题数:1,分数:100.00)1.将文件 in.dat 中的 200 个整数读至数组 xx 中。请编制 jsValue()函数,要求:求出数组 xx 中的数值为奇数的个数 cnt1 和数值为偶数的个数 cnt2 以及数组 xx 下标为奇数的元素值的算术平均值 pj。 结果 cnt1,cnt2,pj 输出到 out.dat 中。 请勿改动数据文件 in.dat 中的任何数据、主函数 main()、读函数 read_Dat()
5、和输出函数 writeDat()的内容。 #include stdio.h #define N 200 int cnt1, cnt2, xxN; float pj; /平均值 void writeDat(); void jsValue() /*read_dat(int xxN)函数将文件 in.dat 中的 200 个整数读至数组 xx 中*/ void read_dat(int xxN) int i, j; FILE *fp; fp=fopen(“in.dat“, “r“); for(i=0; i20; i+) for(j=0; j10; j+) fscanf(fp, “%d, “, /从文
6、件 in.dat 中读取一个整数存入数组元素 xxi*10+j中 printf(“%d“, xxi*10+j); printf(“n“); fclose(fp); void main() read_dat(xx); jsValue(); printf(“nncnt1=%d, cnt2=%d, pj=%6.2fn“, cnt1, cnt2, pj); writeDat(); /*将计算结果 cnt1, cnt2, pj 输出到 out.dat 中*/ void writeDat() FILE *fw; fw=fopen(“out.dat“, “w“); fprintf(fw, “%dn%dn%6
7、.2fn“, cnt1, cnt2, pj);/cnt1, cnt2, pj 写入到 out.dat 中 fclose(fw); (分数:100.00)_正确答案:()解析:int i; cnt1=0; cnt2=0; pj=0; for(i=0;iN;i+) if(xxi%2)cnt1+; else cnt2+; if(i%2)pj+=xxi; /如果数组 xx 下标 i 为奇数,则把 xxi的值累加到变量 pj pj/=100.0; 解析 读入数值,奇数个数,偶数个数,数组下标为奇数的平均值。 通过审题可以发现仅有一个不同点,即本题是计算数组下标为奇数的元素的平均值,参考答案的第 6 条语句。