计算机三级C的题目

来源:百度知道 编辑:UC知道 时间:2024/05/15 19:13:02
编写函数实现功能:计算500~~~800区间内素数的个数cnt ,并按素数的值从大到小的顺序,再计算其间隔加,减之和,即第1 个-第2个+第3个-第4个等等之和,返回cnt ,sum ;
void xountvalue()
{ int i,j,f=1,sum=0,cnt=0;
for(i=799;i>500;i--)
{ for(j=2;j<i;j++)
if(i%j==0)break;
if(j==i)
{ cnt++; sum+=f*i; f=-1*f;}
}
}
这样做不得结果,为何?
I 考国家三级计算机等级考试,即为三级C,拜托!

题目说的很清楚!

晕,看错了,括号有点乱
应该程序没啥问题,说具体点,什么东西不得结果,得什么结果?是和给定答案的结果不同还是找到的素数不对?
建议加段打印代码检验找到的素数是否正确
void xountvalue()
{ int i,j,f=1,sum=0,cnt=0;
for(i=799;i>500;i--)
{ for(j=2;j<i;j++)
if(i%j==0)break;
if(j==i)
{ cnt++; sum+=f*i; f=-1*f;

printf("%d ",i);

}
}
}

C是二级的。
你还真会省略。