#include<stdio.h>
int main()
{
int i,m,n,c;
printf("一百以内的全部素数:\n");
c=0;
m=0;
for(n=2;n<=100;n++){
m++;
for(i=2;i<=m/2;i++){
if(m%i==0)
break;
if(i>m/2&&m!=1)
{ printf("%d",m);
c++;
if(c%10==0)
printf("\n"); }
}
}
}
你的括号写错位置了,调整格式跟修改后的代码如下:
#include<stdio.h>为什么括号的位置要这样放?
追答因为你判断素数的时候是在2与这个数的一半的区间里面找,只要有一个不符合或者过了这个数的一半的时候,就会跳出这个循环,这时候判断跳出循环时是哪一个数终止了循环,如果是2到这个数的一半的区间中的数终止了循环,则说明,这个数不是素数,如果是自然结束循环,则i肯定大于这个数的一半,所以判断条件应该放在内层循环的后面,而不是放在内层循环的里面。