首页 新闻 赞助 找找看

j 好像没有执行 j++呀?为什仫呢?

0
悬赏园豆:10 [已解决问题] 解决于 2023-09-19 19:24

include <stdio.h>

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;
}

上心&的主页 上心& | 初学一级 | 园豆:131
提问于:2022-04-18 22:53
< >
分享
最佳答案
0

第一个条件就return了呀,为什么要执行++操作??
i=100
进入is_prime里
j=2
n%j==>100%2 这不就是0么?直接return了其他就不执行了呀

收获园豆:10
超级大懒虫vip | 菜鸟二级 |园豆:393 | 2022-04-18 23:08

我明白啦
应该把 else放在 for外面

include <stdio.h>

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;
}

上心& | 园豆:131 (初学一级) | 2022-04-18 23:11
其他回答(1)
0

include <stdio.h>

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;
}

上心& | 园豆:131 (初学一级) | 2022-04-18 23:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册