为什么输出的数字是零?#include void main(){\x05int i,sum=0,n=0;int is(int a);\x05for(i=1000;i>=3;i--)\x05{\x05if(is(i)==1)\x05{n++;\x05sum+=i;}\x05if(n==5)\x05\x05break;\x05}\x05printf("%d\n",sum);}int is(int a){\x05int b,yes=1;\x05for(b=2;b
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 14:41:11
为什么输出的数字是零?#include void main(){\x05int i,sum=0,n=0;int is(int a);\x05for(i=1000;i>=3;i--)\x05{\x05if(is(i)==1)\x05{n++;\x05sum+=i;}\x05if(n==5)\x05\x05break;\x05}\x05printf("%d\n",sum);}int is(int a){\x05int b,yes=1;\x05for(b=2;b
为什么输出的数字是零?
#include
void main()
{
\x05int i,sum=0,n=0;
int is(int a);
\x05for(i=1000;i>=3;i--)
\x05{
\x05if(is(i)==1)
\x05{n++;
\x05sum+=i;}
\x05if(n==5)
\x05\x05break;
\x05}
\x05printf("%d\n",sum);
}
int is(int a)
{
\x05int b,yes=1;
\x05for(b=2;b
为什么输出的数字是零?#include void main(){\x05int i,sum=0,n=0;int is(int a);\x05for(i=1000;i>=3;i--)\x05{\x05if(is(i)==1)\x05{n++;\x05sum+=i;}\x05if(n==5)\x05\x05break;\x05}\x05printf("%d\n",sum);}int is(int a){\x05int b,yes=1;\x05for(b=2;b
错在素数筛选int is函数,函数的返回值yes永远为0..
算法应改为:
for(b=2;;b++)
{
if(a==b){yes=1;break;}
if(a%b==0){yes=0;break;}
}
注意两个if上下不能写反,有先后顺序!