2016-10-23 18 views
-5
int Day = 20; 
while (Day >= 1) 
{ 
    cout << Day << " "; 
    userNum = Day/2; 
    cin >> Day; 
} 

ループが機能しないのはなぜですか?出力を20 10 5 2 1whileループは続行しません

としたいと思います。

+0

を試してみてください? 'Day'は20に等しいので、ループは1に等しいものではないので開始しません。 – ForceBru

+0

20!= 1 ... while(Day> = 1)を意味するかもしれないし、ループヘッドの後のセミコロンを削除するかもしれません。 –

+0

申し訳ありませんが、まだ動作しません – KeVy0

答えて

2

私はcinの目的はここにあるかを理解していないが、あなたは、あなたが質問で要求出力したい場合:

// Example program 
#include <iostream> 
#include <string> 

using std::cout; 
using std::endl; 

int main() 
{ 
int Day = 20; 
    while (Day >= 1) 
    { 
    cout << Day << " "; 
    Day /= 2; 
    } 
} 

をあなたはDateが1に達したか、1未満であるときにいつでも停止見ることができますそれを2回繰り返します。まず、20になります。それを2で割って10になります。あなたは再び2で割って5に達します。 5/2は2.5ですが、2に丸めます。 2/2が1であり、最後にプログラムを終了します。

Hereコンパイル済みです。

0

は一体意味することになって、このコードは何この

int Day = 20; 
while (Day >= 1) 
{ 
    cout << Day << " "; 
    Day = Day/2;  
} 
関連する問題