#include<stdio.h>
int main()
{
int i,n;
for(i=2;i<=100;i++)
{
for(n=2;n<=2/i;n++)
if(i%n!=0)
{
printf("%d\t",i);
break;
}
}
return 0;
}
再来回答一下吧,你这样求100以内的素数是有问题的。首先是第2个for循环你是满足不了条件的,即不能执行里面的语句。其次就是就算你能进去第2个for循环语句,也不能由那个if条件判断i是素数,因为就算不是素数也会有不能被整除的数的。
2/i要干啥啊?是i/2吧
逻辑有错误,代码修改如下:
#include<stdio.h>
int main()
{
int i,n;
for(i=2;i<=100;i++)
{
for(n=2;n<i;n++)
{
if(i%n==0)
break;
}
if(n == i)
printf("%d\t",i);
}
return 0;
}
for(n=2;n<=2/i;n++)
i 大于2,2/i等于零。这个循环就进不去。