題目連結: 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; | |
} | |
} |