全国计算机等级考试二级C语言上机题82

文章作者 100test 发表时间 2007:03:10 16:57:38
来源 100Test.Com百考试题网


★题目82
已知数据文件in.dat中存有300个四位数,并已调用读函数readdat()把这些数存入数组a中,请编制一函数jsvalue(),其功能是:求出所有这些四位数是素数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writedat()把结果cnt,pjz1,pjz2输
出到out.dat文件。
 例如:5591是素数,则该数满足条件计算平均值pjz1,且个数cnt=cnt 1。
 9812是非素数,则该数不满足条件计算平均值pjz2。
 部分源程序存在文件prog1.c中。
 程序中已定义数组:a[300],已定义变量:cnt,pjz1,pjz2
 请勿改动主函数main()、读函数readdat()和写函数writedat()的内容。
#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.
}

jsvalue()
{int i.
 for(i=0.i<300.i )
 if(isp(a[i])) {pjz1 =a[i].cnt .}
 else pjz2 =a[i].
 if(cnt==0) pjz1=0.
 else pjz1/=cnt.
 if(300-cnt==0) pjz2=0.
 else pjz2/=(300-cnt).
}

main()
{
 int i.

 readdat().
 jsvalue().
 writedat().
 printf("cnt=%d\n满足条件的平均值pzj1=%7.2f\n不满足条件的平均值pzj2=%7.2f\n",cnt,pjz1,pjz2).
}

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.2f\n%7.2f\n",cnt,pjz1,pjz2).
 fclose(fp).
}


相关文章


函数名称StrToFloat
[试题天天练二级C]循环结构
函数名称StrToInt
函数名称StrToIntDef
全国计算机等级考试二级C语言上机题82
全国计算机等级考试二级C语言上机题83
函数名称StrUpper
函数名称StrToTime
全国计算机等级考试二级C语言上机题81
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛