如何倒计时到0 C++

How to countdown to 0 C++

我需要倒数到 0。我只在屏幕上打印 0。如何将所有倒计时字符打印到屏幕上?下面是我现在正在使用的代码。

#include <stdio.h>
#include <iostream>
using namespace std;

class Solution {
public:
    int num;
    int numberOfSteps (int num) 
    {
      while (num != 0)
      {
        if (num % 2 == 0)
          {
            num = num / 2;
            cout << num;
          }
        else
        {
            num = num - 1;
            cout << num;
        }
    }

    }
};
int main () {
    int num;
    Solution myObj;
    cin >> num;
    cout << myObj.num;
    }

您正在将数字传递给 std::cout。您也没有在代码中的任何地方调用 numberOfSteps(...)

cout << myObj.numberOfSteps(num); 替换该行可以解决问题,但更简洁的解决方案如下:

#include <stdio.h>
#include <iostream>

void countDown (int num) {
    while (num != 0) {
        if (num % 2 == 0) {
            num = num / 2;
            std::cout << num << std::endl;
        } else {
            num = num - 1;
            std::cout << num << std::endl;
        }
    }
}

int main () {
    int num;
    std::cin >> num;
    countDown(num);
}

Class 不是必需的,因为没有状态并且函数是 void 因为它没有 return 任何东西。

我正在重新审视这个问题,并创建了一个比我原来的解决方案更简单的解决方案 post:

    #include <iostream>

    using namespace std;

    int num;

    int main()
    {
    cout << "Please enter the number you would like to count down to zero : ";
    cin >> num;

        while (num > 0)
        {
            cout << num << endl; 
            num--;
        }

    cout << "The number is now zero.";
    return 0;
    }