2017-03-11 16 views
-2

while while do C++でこれを表示する必要があり、コードが残っています。これは私のコードであるC++ do whileループを使用して、入力した数字を昇順に印刷します。

#include <iostream> 
using namespace std; 

int main() 
{ 
    int mn, i, n = 1; 
    cout << "Enter max number: "; 
    cin >> mn; 

    do 
    { 
     cout << n << " "; 
     n++; 
    } while (mn >= n); 
    { 
     cout << endl; 
     system("pause"); 
     return 0; 
    } 

私のコードは、それがこれを表示することになって、私はそれを動作させる方法を知らない

Enter max number: 8 
    1 2 3 4 5 6 7 8 

を表示します。

Enter max number: 8 

    1 
    12 
    123 
    1234 
    12345 
    123456 
    1234567 
    12345678 

どのようにするにはどうすればいいですか?ありがとう

+3

ここにはいい考えがあります:1.空白の紙と鉛筆を取り出します。 2.あなたの宿題を行うために提案された短い論理文を使用して、簡単な英語で書き留めます。 3. [ラバーダックで予約する](https://en.wikipedia.org/wiki/Rubber_duck_debugging)。 4.あなたのラバーダックで提案されたアルゴリズムを確認します。 5.ラバーダックがあなたの提案されたアルゴリズムがうまくいくことに同意したら、書いたものをそのままC++コードに直接変換してください。任務完了。 –

+0

ナンセンスのような投稿*どんなアイデアですか?どんなアイデア?*はここであなたにとても良いレセプションを得るつもりはありません。 **あなたの投稿にノイズとナンセンスを記入してください**。 [ツアー]に行って[ヘルプ]ページを読んで、このサイトの仕組みやここでの行動方法を学んでください。あなたがそれらのガイドラインに従うことができない場合は、助けを求めるためにどこか別の場所に行ってください。 –

答えて

3

のコードには2つのループが必要です。 1つは各行の出力用で、もう1つは複数行の出力用です。

したがって、コード内の変数nが1行の出力用であることを認識する必要があります。 do whileループに追加のループを追加する必要があります。また、プログラムが出力する行数を決定するためのカウンタをnにする必要があります。

あなたが望む結果によると、私はcoutコードを個人的に変更します。それは私のコンピュータでテストに合格しました。間違いなくforまたはwhileをループに使用できるのは、これらのループがお互いに表現できるためです。

#include <iostream> 
using namespace std; 

int main() 
{ 
    int mn,n = 1; 
    cout << "Enter max number: "; 
    cin >> mn; 
    cout << endl; 

    do 
    { 
     int temp = 1; 
     do { 
      cout << temp; 
      temp++; 
     } while (n >= temp); 
     cout << endl; 
     n++; 
    } while (mn >= n); 
    return 0; 
} 
関連する問題