51、下列程序的功能是:计算500-800区间内素数的个数cnt,并按所求素数的值从大到
void countValue()
{
}
void main()
{
cnt=sum=0;
countValue();
printf("cnt=%d\n",cnt);
printf("sum=%d\n",sum);
writeDAT();
}
writeDAT()
{
FILE *fp;
fp=fopen("OUT11.DAT","w");
fprintf(fp, "%d\n%d\n",cnt,sum);
fclose(fp);
}
/* 注:本题要求从大到小的顺序进行加减运算,因此这里采用从800开始循环到500这样
就能保证出来的素数就是从大到小,内嵌的for()再加上if()是用来判断是否为素数。其
中k用来控制加减运算。*/
void countValue()
{
int i,j,k=1;
for(i=800;i>=500;i--)
{for(j=2;j<i;j++)
if(i%j==0) break;
if(j>=i)
{cnt++;
sum+=k*i;
k=-1*k;
}
}
}