Re: [問題] 金字塔製作
在下提供一種更簡單的思路:
===================================
假設我們要 n 層的金字塔好了,方便起見,我們規定行號 i (0 ~ n-1)
Ex. n = 5 的金字塔:
i
-------------
0 *
1 ***
2 *****
3 *******
4 *********
第 0 行印出了 4 個空個,1 個 * 共 5 個 char
1 3 3 6
2 2 5 7
3 1 7 8
4 0 9 9
觀察發現每行總共印出的 char 數剛好是 n + i
然後第 i 行 的前 n-i-1 個 char 是空白,其餘為 * 號
================================
簡單 Code 實現:
#include <stdio.h>
int main (void) {
int n, i, j;
printf("你要幾層的金字塔:");
scanf("%d", &n);
for (i = 0; i < n; i++) {
for (j = 0; j < n+i; j++) {
(j < n-i-1) ? putchar(' ') : putchar('*');
}
puts("");
}
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.252.34.179
→
08/04 21:04, , 1F
08/04 21:04, 1F
→
08/04 21:10, , 2F
08/04 21:10, 2F
→
08/05 10:51, , 3F
08/05 10:51, 3F
討論串 (同標題文章)