编写一个 while 循环,打印 userNum
除以 2(整数除法)直到达到 1。每个数字后跟一个空格。 userNum
= 20 的示例输出: 20 10 5 2 1
#include <iostream>
using namespace std;
int main()
{
int userNum = 0;
userNum = 20;
cout << userNum << " ";
while (userNum > 1)
{
userNum = userNum/2;
cout << userNum << " ";
}
cout << endl;
return 0;
}
它正确划分,直到我到达 0,它给我 0 而不是终止。我究竟做错了什么?
谢谢!
原文由 Fate 发布,翻译遵循 CC BY-SA 4.0 许可协议
您发布的代码的行为与您期望的一样。
我将建议稍微更改代码作为一种良好做法。
代替:
利用:
一般原则是:
for
循环为这些提供了自然的占位符。如果您要切换到使用我推荐的
for
循环,您的代码将是: