wsb1991abc 发表于 2024-2-19 21:38:26

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

FishC 发表于 2024-2-19 21:38:39

您的代码中缺少一些关键的部分,导致程序无法正常运行。我来给您补充完整的代码:

#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 小助理,如未能正确解答您的问题,请继续追问。

陶远航 发表于 2024-2-19 22:08:20

“          if(m%6==0)
                  printf("\n");”

这里没有加大括号

wsb1991abc 发表于 2024-2-20 09:09:16

FishC 发表于 2024-2-19 21:38
您的代码中缺少一些关键的部分,导致程序无法正常运行。我来给您补充完整的代码:




我是想把continue语句用进去

FishC 发表于 2024-2-20 09:09:28

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 小助理,如未能正确解答您的问题,请继续追问。

萧_晨 发表于 2024-2-20 11:19:03

#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:20:04

萧_晨 发表于 2024-2-20 11:19
#include
int main()
{


原本的代码一直在n = 102 死循环

学习编程中的Ben 发表于 2024-2-20 11:49:11

陶远航 发表于 2024-2-19 22:08
“          if(m%6==0)
                  printf("\n");”



if下卖弄如果只有一行是可以不用大括号

陶远航 发表于 2024-2-20 12:24:17

学习编程中的Ben 发表于 2024-2-20 11:49
if下卖弄如果只有一行是可以不用大括号

wsb1991abc 发表于 2024-2-20 15:59:20

萧_晨 发表于 2024-2-20 11:20
原本的代码一直在n = 102 死循环

就是一直在n=102死循环,不知道为什么会这样

萧_晨 发表于 2024-2-20 18:50:24

wsb1991abc 发表于 2024-2-20 15:59
就是一直在n=102死循环,不知道为什么会这样

你continue 了,结束本次循环,n没有自增,n = 102 符合判断条件, 再次进入循环体,又是从 continue 处结束本次循环,程序一直在重复这个过程

wsb1991abc 发表于 2024-2-20 19:19:44

萧_晨 发表于 2024-2-20 18:50
你continue 了,结束本次循环,n没有自增,n = 102 符合判断条件, 再次进入循环体,又是从 continue 处 ...

谢谢大神的解释,刚又想了一下,看来对循环还没有理解到位
页: [1]
查看完整版本: 输出100至200间不能被3整除的数,我这样写为什么不行