232136.。。 2021-11-14 00:02 采纳率: 85.7%
浏览 128
已结题

c++中为什么我用do{}while循环不起来

img


这个是原题
下面是我的代码
一种是for循环(结果正确)
二种是dowhile循环(我用了分布执行 发现do只执行了第一次 就没有循环了)

img

img

为什么这个do while 循环不起来呢

  • 写回答

2条回答 默认 最新

  • aabyte 2021-11-14 00:13
    关注

    do...while 的while后面有个分号的哦
    并且你do while这个程序里面的 i 没有初始化,所以执行不了
    修改如下:

    #include<stdio.h>
    int main()
    {
        int n, i=1, j;
        int ch[100];
        scanf_s("%d", &n);
        if (n > 0 && n <= 100)
            ch[0] = n;
        do
        {
            if (n % 2 == 1)
            {
                n = n * 3 + 1;
                ch[i] = n;
                i++;
            }
            else
            {
                n = n / 2;
                ch[i] = n;
                i++;
            }
        }while (n != 1);
        
        for (j = 0; j <= i - 1; j++)
            printf("%d ", ch[j]);
        return 0;
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月22日
  • 已采纳回答 11月14日
  • 创建了问题 11月14日

悬赏问题

  • ¥15 对于这个问题的代码运行
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败