int is_prime(int n)
{
int j = 0;
for (j = 2; j < n; j++)
{
if (n % j == 0)
return 0;
else return 1;
}
}
int main()
{
int i;
for (i = 100; i <= 200; i++)
{
// 判断i是否是素数
if (is_prime(i) == 1)
printf("%d\t", i);
}
return 0;
}
第一个条件就return了呀,为什么要执行++操作??
i=100
进入is_prime里
j=2
n%j==>100%2 这不就是0么?直接return了其他就不执行了呀
我明白啦
应该把 else放在 for外面
int is_prime(int n)
{
int j = 0;
for (j = 2; j < n; j++)
{
if (n % j == 0)
return 0;
}
if (j = n)
return 1;
}
int main()
{
int i;
for (i = 100; i <= 200; i++)
{
// 判断i是否是素数
if (is_prime(i) == 1)
printf("%d\t", i);
}
return 0;
}
int is_prime(int n)
{
int j = 0;
for (j = 2; j < n; j++)
{
if (n % j == 0)
return 0;
}
if (j = n)
return 1;
}
int main()
{
int i;
for (i = 100; i <= 200; i++)
{
// 判断i是否是素数
if (is_prime(i) == 1)
printf("%d\t", i);
}
return 0;
}