程序如下:问输出结果
#include<stdio.h>
#include<math.h>
int main()
{int i,k,m,n=0;
for(m=1;m<=10;m+=2)
{ if(n%10==0)printf("\n");
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k)
{printf("%2d",m);
n++;
}
}
}
最终答案是1 3 5 7
为什么会有1?
k=sqrt(m);
for(i=2;i<=k;i++)
中第二个表达式不是表明1不行?为什么还会输出1?