C语言编写程序计算500~800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,再计算其间隔减。

编写程序计算500~800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,再计算其间隔减、加之和,
即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数……的值sum。
一行内输出cnt和sum,用空格隔开。
#include <stdio.h>
int main()
{
int a=500,n,m=1,sum=0,cnt;
for(cnt=0;a<=800;cnt++,m=(-1)*m)
{for(n=2;n<a;n++)
if(a%n==0)break;
if(a==n)
sum=m*a+sum;};
printf("%d %d",cnt,sum);
}
我编的哪错了

//改动比较多
#include <stdio.h>
int main()
{
int a=500,n,m=1,sum=0,cnt=0;
for(a=800;a>=500;a--) //为了保证得到的素数是从大到小的,a取值也从大到小
{for(n=2;n<a;n++)
if(a%n==0)break;
if(a==n){
sum=m*a+sum; //找到一个素数,才累加,m才换正负
cnt++;
m=-m;
}
}
printf("%d %d",cnt,sum);
}
温馨提示:答案为网友推荐,仅供参考