星汉 鹊桥的诗词:C语言的编程错在哪?

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 12:37:16
选出100~1000所有各位和十位之和被10整除所得余数恰是百位的素数,计算并输出这些素数的个数cnt,以及这些素数的和sum
#include <stdio.h>
int cnt, sum;
void countValue()
{ int i,j,hun,ten,d,k;

for(i=100;i<1000;i++)
{ hun=i/100;
ten=i%100/10;
d=i%10;
if((d+ten)%10==hun)
{ k=sqrt(i);
for(j=2;j<=k;j++)
if(i%j==0) break;
if(j>k)
{sum=sum+i;cnt++;}

}
}
}

main()
{
cnt=sum=0;
countValue();
printf("素数的个数=%d\n", cnt);
printf("满足条件素数值的和=%d", sum);
writeDAT();
}
writeDAT()
{
FILE *fp;
fp=fopen("OUT17.DAT", "w");
fprintf(fp, "%d\n%d\n", cnt, sum);
fclose(fp);
}

cnt,sum,没赋初值就用于加运算,
将第二行必为;
int cnt=sum=0;
应该可以了吧