你的代码逻辑是错误的:素数是除1和自身外没有因数的正整数,你只 if(n%i!=0) { printf("%d是素数\n",n); } 这样一次判断就认为是素数了?比如8,8%3不等于0,但谁都知道8不是素数!谭浩强的代码显然是对的——for(i=2;i
首先回答“有些地方看不懂,条件里已经有了i
首先,for循环里的语句要用{ }括起来,然后你的for循环里面做的事情是对i从2~n-1,都判断i能不能被n整除,不能则输出语句"n是素数"能则输出"n不是素数",事实上,如果你用{}括起来,程序会输出n-1-2+1=n-2次的输出语句"n是素数"或者"n不是素数",而不能得到你想要的结果。
有问题再找我讨论哈
# include
int main ()
{ int n,i;
scanf("%d",&n);
for(i=2;i
{ break; }
if(i
return 0;
}