題目連結: https://zerojudge.tw/ShowProblem?problemid=c419

# 內容

Bert 又想要另外一種 n 層的三角形,定義如下:

第 i 層一樣要有 i 個 "*",但要向右對齊

請你寫個程式幫幫 Bert ~~

# 輸入

單筆輸入~~

輸入只有一個整數 n (1 <= n <= 100)

# 輸出

輸出整個三角形~~

因為空格不好辨識,請以 "_" 代替

# 解題思路

使用巢狀迴圈

當內層 loop (輸出 "_") 執行次數 (n - 行數) 相同時,再輸出 ("*") 執行次數跟行數相同,外層 for loop 執行換行、額外變數加一,在回到內層。

此時內層執行次數會隨著行數增加而提高,即下一層的 "*" 多一個,而 "_" 也將會少一個。

# 程式碼

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin>>n;
    for(int i =1; i<=n;i++)
    {
        for(int j=1 ; j<=n-i;j++)
            cout<<"_";
        for(int j=1 ; j<=i ; j++)
            cout<<"*";
        cout<<endl;
    }
}
更新於 閱讀次數

用實際行動犒賞爆肝的我😀

Zrn Ye LinePay

LinePay