Re: [問題] 金字塔製作

看板C_and_CPP作者 (阿飄先生)時間13年前 (2011/08/04 01:34), 編輯推噓0(003)
留言3則, 3人參與, 最新討論串3/6 (看更多)
在下提供一種更簡單的思路: =================================== 假設我們要 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
putchar("* "[(i < n-i-1)]); XDD
08/04 21:04, 1F

08/04 21:10, , 2F
putchar((i < n-i-1)["* "]); (誤)
08/04 21:10, 2F

08/05 10:51, , 3F
XDD
08/05 10:51, 3F
文章代碼(AID): #1EEOQx-e (C_and_CPP)
文章代碼(AID): #1EEOQx-e (C_and_CPP)