输出100至200间不能被3整除的数,我这样写为什么不行
#include<stdio.h>int main()
{
int n=100,m=0;
while(n>=100&&n<=200)
{
if(n%3==0)
continue;
else
{
m++;
if(m%6==0)
printf("\n");
printf("%d ",n);
}
n++;
}
return 0;
} 您的代码中缺少一些关键的部分,导致程序无法正常运行。我来给您补充完整的代码:
#include <stdio.h>
int main() {
int n = 100;
while (n <= 200) {
if (n % 3 != 0) {
printf("%d\n", n);
}
n++;
}
return 0;
}
这段代码使用了一个while循环,从100开始逐个判断数值是否不能被3整除。如果满足条件,则使用printf函数将其输出。最后,n自增1,继续下一次循环。这样就能得到100至200之间不能被3整除的数了。
希望对您有帮助!如有疑问,请随时追问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 “ if(m%6==0)
printf("\n");”
这里没有加大括号 FishC 发表于 2024-2-19 21:38
您的代码中缺少一些关键的部分,导致程序无法正常运行。我来给您补充完整的代码:
我是想把continue语句用进去 wsb1991abc 发表于 2024-02-20 09:09
我是想把continue语句用进去
抱歉,我之前的回答有些混乱。您提到想要使用`continue`语句来解决这个问题,确实是一个可行的方法。这里是一个使用`continue`语句的示例代码:
for num in range(100, 201):
if num % 3 == 0:
continue
print(num, end=' ')
在上面的代码中,我们使用了`range(100, 201)`来生成100至200间的所有数,然后使用`for`循环遍历其中的每一个数。在循环内部,我们使用条件判断`if num % 3 == 0`来判断该数是否能被3整除。如果能被整除,我们使用`continue`语句跳过当前迭代,直接进入下一次循环。只有当条件判断为假时(即不能被3整除),才会执行`print(num, end=' ')`来输出该数。
希望这次的解答对您有帮助!如果还有其他问题,请随时提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 #include<stdio.h>
int main()
{
int n=100,m=0;
while(n>=100&&n<=200)
{
if(n%3==0)
{
n++;
continue;
}
else
{
m++;
if(m%6==0)
printf("\n");
printf("%d ",n);
}
n++;
}
return 0;
} 萧_晨 发表于 2024-2-20 11:19
#include
int main()
{
原本的代码一直在n = 102 死循环 陶远航 发表于 2024-2-19 22:08
“ if(m%6==0)
printf("\n");”
if下卖弄如果只有一行是可以不用大括号 学习编程中的Ben 发表于 2024-2-20 11:49
if下卖弄如果只有一行是可以不用大括号
哦 萧_晨 发表于 2024-2-20 11:20
原本的代码一直在n = 102 死循环
就是一直在n=102死循环,不知道为什么会这样 wsb1991abc 发表于 2024-2-20 15:59
就是一直在n=102死循环,不知道为什么会这样
你continue 了,结束本次循环,n没有自增,n = 102 符合判断条件, 再次进入循环体,又是从 continue 处结束本次循环,程序一直在重复这个过程 萧_晨 发表于 2024-2-20 18:50
你continue 了,结束本次循环,n没有自增,n = 102 符合判断条件, 再次进入循环体,又是从 continue 处 ...
谢谢大神的解释,刚又想了一下,看来对循环还没有理解到位
页:
[1]