2017-10-19 22 views
-1

說,用戶輸入:432(不是數字將在逆轉顯示)收集用戶輸入整數的最後一位,如果均勻,則顯示三角形。如果奇,秀廣場

所以,他們表現出的結果將是:

2 (will be showing a triangle)<br> 
eg,<br> 1<br> 
1 2 

3 (will be showing a square)<br> 
eg,<br> 1 2 3<br> 
    1 2 3 <br> 
    1 2 3<br> 

4 (will be showing a triangle) 
<br>eg,<br> 1<br> 
    1 2 <br> 
    1 2 3 <br> 
    1 2 3 4<br> 
<br> 

我已經嘗試使用數小時很多組合等,但我仍然無法得到如果其他,循環,形狀正確。這太令人沮喪了。我的學校剛剛放棄了我們的任務,並沒有給我們提供任何幫助。

我只能做循環。

if (temp %2 == 0) . 
    { 
     cout << temp << " even. draw triangle\n";   //fit triangle shape 
    } 

    else 
     cout << temp << " odd. draw square" << "\n hi";  // fit square 


    outputcounter = outputcounter -1; 
} 

我只開始瞭解:if else,while,loops,variables。 我沒有教字符串

非常感謝。

+0

我不明白,在reverse_部分_shoed。也許這是顯而易見的,但不是我。抱歉。 – apalomer

+0

問題仍然不清楚,也許另一個例子會有所幫助 –

回答

0

我認爲這會做:

#include <iostream> 
#include <string> 

using namespace std; 

int main() 
{ 
    cout<<"enter number: "; 
    int number; 
    cin>>number; 
    string number_s = to_string(number); 
    for (int i = number_s.size()-1;i>=0;i--) // Choose for loop depending on direction 
// for (int i = 0;i<number_s.size();i++) 
    { 
     int n = number_s[i] - '0'; 
     string out; 
     if (n%2 == 0) 
     { 
      for (int j = 1;j<=n;j++) 
      { 
       for (int k = 1;k<=j;k++) 
       { 
        out += to_string(k); 
       } 
       out += '\n'; 
      } 
     } 
     else 
     { 
      string aux_out; 
      for (int j = 1;j<=n;j++) 
      { 
       aux_out += to_string(j); 
      } 
      for (int j = 1;j<=n;j++) 
       out += aux_out+'\n'; 
     } 
     cout<<"Digit "<<i<<": "<<n<<endl; 
     cout<<out; 
    } 
    return 0; 
} 

這將產生以下的輸出:

enter number: 12389 
Digit 4: 9 
123456789 
123456789 
123456789 
123456789 
123456789 
123456789 
123456789 
123456789 
123456789 
Digit 3: 8 
1 
12 
123 
1234 
12345 
123456 
1234567 
12345678 
Digit 2: 3 
123 
123 
123 
Digit 1: 2 
1 
12 
Digit 0: 1 
1 
+0

請注意什麼OP說:*「我只開始學習:如果其他,while,循環,變量,我沒有教字符串」*。您可以直接輸出數字,而無需使用字符串。 –

+0

你可以很容易地重構你的代碼,並且只寫2個'for'循環而不是4個 – Aserre

+0

@Aserre然而,我知道,從nob的角度來看,這種方式更容易理解(或者至少這是我會覺得沒有編程背景)。 – apalomer

相關問題