求解素数换行问题
#include <stdio.h>#include <math.h>
void main()
{
int m,k,i,n=0;
for(m=101;m<=200;m=m+2)
{k=sqrt(m);
for(i=2;i<=k;i++)
if (m%i==0) break;
if(i>=k+1)
{
printf("%d ",m);
n=n+1;
}
if(n%10==0)printf("\n");
}
printf("\n");
}
红笔所标的部分为什么可以放在这个位置呢?我试了一下在上面的if循环里面运行结果和这样的运行结果是一样的,可是如果在现在这个位置的话,比如说执行到149后,n的值已经是10,到150的时候因为不执行下面那个if语句,n的值应该是不变的仍为10,那不还得再输出一个回车换行符号吗?