2014-11-09 96 views
0

我必須編寫一個C++程序,要求用戶輸入一個整數k然後輸出k行星號,第一行從1開始星號和最後一行以k星號結束。嵌套循環和輸出星號

我可以得到程序輸出星號如方形: (K = 5)

***** 
***** 
***** 
***** 
***** 

當它應該是這樣的:

* 
** 
*** 
**** 
***** 

我應該如何調整我的程序來完成這個? (注:我必須使用兩個for循環)

int main() { 
    int k, cols, rows; 
    cout << " Please enter a number: "; 
    cin >> k; 

    for (cols = 1; cols < k + 1; cols++) { 
     for (rows = 1; rows < k + 1; rows++) 
      cout << "*"; 
     cout << endl; 
    } 

    getchar(); 
    getchar(); 
    return 0; 
} 

回答

1

內環應該運行col+1倍。因此,你需要通過改變它的初始值在內部循環改變條件rows < cols並有rowscols少一個0

for (cols = 1; cols < k+1; cols++) { 
    for (rows = 0; rows < cols; rows++) 
     cout << "*"; 
    cout << endl; 
}