★☆題目66(無憂id 47 素數(shù)題)
下列程序prog1.c的功能是:計算500-800區(qū)間內(nèi)素數(shù)的個數(shù)cnt,并按所求素數(shù)的值從大到小的順序,再計算其間隔加、減之和,即第1個素數(shù)-第2個素數(shù)+第3個素數(shù)-第4個素數(shù)+第5個素數(shù)...的值sum。請編寫函數(shù)countValue()實現(xiàn)程序的要求,最后調(diào)用函數(shù)writeDat()把結(jié)果cnt和sum,輸出到文件OUT11.DAT中。
部分源程序已給出。
請勿改動主函數(shù)main()和輸出數(shù)據(jù)函數(shù)writeDat()的內(nèi)容。
#include
int cnt,sum;
void countValue()
{int i,j,k=1;
for(i=800;i>500;i--)
{ for(j=2;j if(i%j==0) break;
if(j==i) { cnt++; sum=sum+k*i; k=k*(-1); }
}
}
void main()
{
cnt=sum=0;
countValue();
printf("素數(shù)的個數(shù)=%d\n",cnt);
printf("按要求計算的值=%d\n",sum);
writeDat();
}
writeDat()
{
FILE *fp;
fp=fopen("OUT11.DAT","w");
fprintf(fp,"%d\n%d\n",cnt,sum);
fclose(fp);
}
下列程序prog1.c的功能是:計算500-800區(qū)間內(nèi)素數(shù)的個數(shù)cnt,并按所求素數(shù)的值從大到小的順序,再計算其間隔加、減之和,即第1個素數(shù)-第2個素數(shù)+第3個素數(shù)-第4個素數(shù)+第5個素數(shù)...的值sum。請編寫函數(shù)countValue()實現(xiàn)程序的要求,最后調(diào)用函數(shù)writeDat()把結(jié)果cnt和sum,輸出到文件OUT11.DAT中。
部分源程序已給出。
請勿改動主函數(shù)main()和輸出數(shù)據(jù)函數(shù)writeDat()的內(nèi)容。
#include
int cnt,sum;
void countValue()
{int i,j,k=1;
for(i=800;i>500;i--)
{ for(j=2;j if(i%j==0) break;
if(j==i) { cnt++; sum=sum+k*i; k=k*(-1); }
}
}
void main()
{
cnt=sum=0;
countValue();
printf("素數(shù)的個數(shù)=%d\n",cnt);
printf("按要求計算的值=%d\n",sum);
writeDat();
}
writeDat()
{
FILE *fp;
fp=fopen("OUT11.DAT","w");
fprintf(fp,"%d\n%d\n",cnt,sum);
fclose(fp);
}