计算机等级考试三级网络技术上机考前必看1
![](http://www.onekao.net/templets/default/images/content_ad.gif)
#
计算机等级考试三级网络技术上机考前必看(1)
#
试题一:已知数据文件IN.DAT中存有300个四位数,并已调用读函数READDAT()把这些数存入数组A中.请编制一函数Svalue(),其功能是:求出所有这些四位数是素数的个数CNT,再求出所有满足此条件的四位数平均值PJZ1,以及不满足条件的四位数平均值PJZ2,最后调用写函数WRITEDAT()把结果CNT,PJZ1,PJZ2输出 到OUT.DAT文件.
例如:5591是素数,则该数满足条件计算平均值PJZ1,且个数CNT=CNT+1. #
9812是非素数,则该数不满足条件计算平均值PJZ2。
#
注意:部分源程序已给出。 #
程序中已定义数组:a[300],已定义变量:cnt,pjz1,pjz2.
请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。
---------------------
#
PROG1.C #
#include
int a[300],cnt=0;
#
double pjz1=0.0,pjz2=0.0; #
int isP(int m)
{
int i; #
for(i=2;i #
if(m%i==0)return 0;
return 1; #
}
void jsvalue()
{ #
}
main()
{
#
int i;
#
readDat(); #
jsvalue(); #
writeDat(); #
printf("cnt=%d\n满足条件的平均值pzj1=%7.21f\n不满足条件的平均值pzj2=%7.21f\n",cnt,pjz1,pjz2);
#
system("pause"); #
}
readDat() #
{ #
FILE *fp; #
int i; #
fp=fopen("in.dat","r"); #
for(i=0;i<300;i++)fscanf(fp,"%d",&a[i]);
#
fclose(fp);
}
writeDat() #
{ #
FILE *fp; #
int i; #
fp=fopen("out.dat","w"); #
fprintf(fp,"%d\n%7.21f\n%7.21f\n",cnt,pjz1,pjz2); #
fclose(fp);
} #
/*标准答案如下 #
void jsvalue() #
{int I; #
for (I=0;I<300;I++) #
if (isP(a[I])) {pjz1+=a[I];cnt++;} #
else pjz2+=a[I]; #
pjz1=pjz1/cnt;
pjz2=pjz2/(300-cnt); #
} #