Re: [問題] 請問畫一個圖形

看板C_and_CPP (C/C++)作者 (下班後才下棋)時間16年前 (2009/10/27 10:36), 編輯推噓3(303)
留言6則, 3人參與, 最新討論串4/4 (看更多)
※ 引述《VictorTom (鬼翼&娃娃魚)》之銘言: : ※ 引述《fjf1980 (Yes We Can!)》之銘言: : : 我今天無聊自己玩畫一個圖形,就是給定高及寬都是奇數,畫一個類似以下圖形 : : 1 *********** : : 2 ***** ***** : : 3 **** **** : : 4 *** *** : : 5 ** ** : : 6 * * : : 7 ** ** : : 8 *** *** : : 9 **** **** : : 10***** ***** : : 11*********** : : 花了我好久時間,寫出來一個程式,但是感覺真的是很遜的程式 : : 在底下,請問有沒有高手能對這圖形有比較好的寫法 先聲明這是惡搞 我平常不是這樣寫程式的 XD 我也不建議這麼做 #include <stdio.h> #include <string.h> int main(void) { int i; int n; char str[1024]; while(scanf("%d", &n) == 1 && n >= 3) { memset(str, '*', n); str[n] = '\0'; printf("%s\n", str); for(i=1;i<n-1;i++) { int x = (n-1)/2; int y = (x+1-i>0)?(x+1-i):(x-n+2+i); printf("%.*s%*s%.*s\n", y, str, n-y*2, "", y, str); } printf("%s\n", str); printf("\n"); } return 0; } -- 有時候,遺忘,是令人快樂的。什麼時候?當然是有人傷了你的心的時候。  存心傷你的那個人,固然是故意和你過不去,但是被傷了心而耿耿於懷的你  ,卻是和自己過不去了。所以,記性不好的人,通常會是比較快樂的人,也  是比較不容易被擊倒的人。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.50

10/27 13:27, , 1F
唉~~小弟我老學不會那個動態指定長度的printf用法Q_Q~
10/27 13:27, 1F

10/27 13:49, , 2F
* 是 min width, .* 是 max width
10/27 13:49, 2F

10/27 13:51, , 3F
指定 min width 沒到會補空白,超過不截斷
10/27 13:51, 3F

10/27 13:52, , 4F
指定 max width 就是不超過指定長度
10/27 13:52, 4F

10/27 14:01, , 5F
謝樓上l大, 先找東西記起來好了:)
10/27 14:01, 5F

10/27 15:33, , 6F
推!
10/27 15:33, 6F
文章代碼(AID): #1AvboWel (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1AvboWel (C_and_CPP)