|
問題描述:輸入 n 值,並依據 n 值輸出三角形如下。
例:n=4
當輸入 3 時,印出
【解題步驟一】
分析問題,大方向思考。
當 n=4 時,以二維座標 4x4 而言 (x,y) 值如下:
(0,0) |
(1,0) |
(2,0) |
(3,0) |
(0,1) |
(1,1) |
(2,1) |
(3,1) |
(0,2) |
(1,2) |
(2,2) |
(3,2) |
(0,3) |
(1,3) |
(2,3) |
(3,3) |
紅色座標印出 *,黑色座標印出 -
數字上的分析好像 x+y 若大於等於 3 就印出 *,
否則印出 -。
當 n=3 時,以二維座標 3x3 而言 (x,y) 值如下:
(0,0) |
(1,0) |
(2,0) |
(0,1) |
(1,1) |
(2,1) |
(0,2) |
(1,2) |
(2,2) |
紅色座標印出 *,黑色座標印出 -
數字上的分析好像 x+y 若大於等於 2 就印出 *,
否則印出 -。
因此可歸納出 x+y >=n-1,則印出 *,否則印出 -。
int x,y,n,t;
n=4;
for(y=0;y<n;y++){
for(x=0 ; x<n; x++){
if(x+y>=n-1){
printf("*");
}
else{
printf("-");
}
}
printf("\n");
}
【類似範例練習】
1.寫一程式依據輸入印出圖形.
當輸入 4 時,印出
|
|
|
1 |
|
|
|
|
|
2 |
1 |
2 |
|
|
|
3 |
2 |
1 |
2 |
3 |
|
4 |
3 |
2 |
1 |
2 |
3 |
4 |
|
3 |
2 |
1 |
2 |
3 |
|
|
|
2 |
1 |
2 |
|
|
|
|
|
1 |
|
|
|
解答 |
2.寫一程式依據輸入印出圖形.
當輸入 4 時,印出
a |
a |
a |
a |
a |
a |
a |
a |
b |
b |
b |
b |
b |
a |
a |
b |
c |
c |
c |
b |
a |
a |
b |
c |
d |
c |
b |
a |
a |
b |
c |
c |
c |
b |
a |
a |
b |
b |
b |
b |
b |
a |
a |
a |
a |
a |
a |
a |
a |
解答 |
3.寫一程式依據輸入印出圖形.
當輸入 4 時,印出
D |
C |
B |
A |
B |
C |
D |
|
C |
B |
A |
B |
C |
|
|
|
B |
A |
B |
|
|
|
|
|
A |
|
|
|
|
|
B |
A |
B |
|
|
|
C |
B |
A |
B |
C |
|
D |
C |
B |
A |
B |
C |
D |
解答 |
|