1、三级信息管理技术机试-159 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.已知数据文件 IN82.DAT 中存有 300 个 4 位数,并已调用函数 readDat()把这些数存入数组 a 中,请编制一函敞 jsValue(),其功能是:求出这些 4 位数是素数的个数 cnt,再求出所有满足此条件的 4 位数的平均值 pjz1,以及所有不满足此条件的 4 位数的平均值 pjz2,最后调用函数 writeDat()把结果cnt,pjz1,pjz2,输出到 out82.dat 文件中。例如:5591 是素数,则该数满足条件,计算平均值 pj
2、z1,且个数 cnt=cnt+1。9812 是非素数,则该数不满足条件,计算平均值 pjz2。注意:部分源程序已给出。程序中已定义数组:a300,b300,已定义变量:cnt,pjz1,pjz2。请勿改动主函数 main()、读函数 readDat()和写函数 writeDat()的内容。试题程序;#includestdio.hint a300, cnt=0;double pjz1=0.0,pjz2=0.0;int isP(int m)int i;for(i=2;im;i+)if(m%i=0) return 0;return 1;void jsValue()main()int i;readDa
3、t();jsValue();writeDat();printf(“cnt=%d/n 满足条件的平均值 pjz1=%7.2lf/n 不满足条件的平均值pjz2=%7.2lf/n“,cnt,pjz1,pjz2);readDat()FILE *fp;int i;fp=fopen( “in82.dat“,“r“);for(i=0;i300;i+)fscanf(fp,“%d,“,fclose(fp);writeDat()FILE *fp;int i;fp=fopen(“out82.dat“,“w“);fprintf(fp,“%d/n%7.2lf/n%7.2lf/n“,cnt ,pjz1,piz2);fc
4、lose(fp);(分数:100.00)_三级信息管理技术机试-159 答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.已知数据文件 IN82.DAT 中存有 300 个 4 位数,并已调用函数 readDat()把这些数存入数组 a 中,请编制一函敞 jsValue(),其功能是:求出这些 4 位数是素数的个数 cnt,再求出所有满足此条件的 4 位数的平均值 pjz1,以及所有不满足此条件的 4 位数的平均值 pjz2,最后调用函数 writeDat()把结果cnt,pjz1,pjz2,输出到 out82.dat 文件中。例如:5591
5、是素数,则该数满足条件,计算平均值 pjz1,且个数 cnt=cnt+1。9812 是非素数,则该数不满足条件,计算平均值 pjz2。注意:部分源程序已给出。程序中已定义数组:a300,b300,已定义变量:cnt,pjz1,pjz2。请勿改动主函数 main()、读函数 readDat()和写函数 writeDat()的内容。试题程序;#includestdio.hint a300, cnt=0;double pjz1=0.0,pjz2=0.0;int isP(int m)int i;for(i=2;im;i+)if(m%i=0) return 0;return 1;void jsValue
6、()main()int i;readDat();jsValue();writeDat();printf(“cnt=%d/n 满足条件的平均值 pjz1=%7.2lf/n 不满足条件的平均值pjz2=%7.2lf/n“,cnt,pjz1,pjz2);readDat()FILE *fp;int i;fp=fopen( “in82.dat“,“r“);for(i=0;i300;i+)fscanf(fp,“%d,“,fclose(fp);writeDat()FILE *fp;int i;fp=fopen(“out82.dat“,“w“);fprintf(fp,“%d/n%7.2lf/n%7.2lf/n
7、“,cnt ,pjz1,piz2);fclose(fp);(分数:100.00)_正确答案:(void isValue()int i;for(i=0;i300;i+)if(isP(ai) /*如果该数为素数*/piz1+=ai; /*将满足条件的数求和*/cnt+; /*统计满足条件的数的个数*/else pjz2+=ai; /*将不满足条件的数求和*/piz1=piz1/cnt; /*求满足条件的数的平均值*/pjz2=pjz2/(300-cnt); /*求不满足条件的数的平均值*/)解析:解析 本题考查的知识点如下:(1) 循环结构的使用。(2) 判断结构的使用。在本题中,已给出判断素数的函数 isP(),只要依次将数据带入即可。300 个数据依次存入数组中,可以使用循环实现对数据的访问。当数是素数时,求其和 pjz1,并统计素数的个数。不是素数时,求和pjz2。最后将和除以个数,即可得其平均值。