2017-03-07 34 views
0

程序應該要求用戶輸入一個數字,並使用1和給定數字之間的數字形成一個三角形。我想出了一個代碼:我想弄清楚如何扭轉我用給定數字創建的三角形

cout << "Enter a number: "; 
cin >> rows; 
for (int y = rows; y > 0; --y) 
    { 
     for (int x = 1; x <= y; x++) 
     { 
      cout << x << " "; 
     } 
     cout << endl; 
    } 

而且我會得到:

輸入一個數字:(用戶輸入數字,可以說7)

1 2 3 4 5 6 7 
1 2 3 4 5 6 
1 2 3 4 5 
1 2 3 4 
1 2 3 
1 2 
1 

,但我似乎無法到得到它:

7 6 5 4 3 2 1 
* 6 5 4 3 2 1 
* * 5 4 3 2 1 
* * * 4 3 2 1 
* * * * 3 2 1 
* * * * * 2 1 
* * * * * * 1 

沒有它會完全錯誤。任何可能的提示?

+0

其中的2個輸出的是所需的一個? –

+0

第二個。從7開始,然後到1,然後在下一行做同樣的事情,但從6開始,並留下空間,就好像7仍然在那裏。 @JohnnyMopp –

回答

0
int rows; 
    cout << "Enter a number: "; 
    cin >> rows; 
    for (int y = rows; y > 0; --y) 
    { 
     for (int x = rows; x > 0; x--) 
     { 
      if (x <= y) cout << x << " "; 
      else cout << "* "; 
     } 
     cout << endl; 
    } 
+1

Ohhhhhhhhh if-else語句。我甚至沒有想過那個。非常感謝! –

0

這是你如何能做到這一點:

cout << "Enter a number: "; 
cin >> rows; 
for (int y = rows; y > 0; --y) 
{ 
    for(int h = rows-y; h>0; --h){ 
     cout<<"*"; 

    } 
    for (int x = y; x >= 1; --x) 
    { 

     cout << x << " "; 
    } 
    cout << endl; 
} 
相關問題