【www.kwkids.com--计算机等级考试】
计算机等级考试三级网络技术上机考前必看1
第一考试网整理了计算机等级考试三级网络技术上机考前必看
计算机等级考试三级网络技术上机考前必看(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);
}