[問題] 請問遞迴畫菱形

看板C_and_CPP作者 (C語言)時間15年前 (2010/03/10 13:19), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
請問要怎麼用遞迴畫菱形? 雖然我分解成一次畫一行, 然後再用其函數和靜態變數來用 感覺是偷吃步, 方法好像不是很好 請問有比較好的方法嗎? p.s.程式有需要的人請自行取用 void diamond_ptline(int n, int m, char ch1, char ch2) { int j,i; if(m==0) return; for(i=0;i<n;i++) printf("%c",ch1); for(j=0;j<m*2-1;j++) printf("%c",ch2); for(i=0;i<n;i++) printf("%c",ch1); puts(""); } void diamond_print(int n, char ch1, char ch2) { static int x=n; static int f=false; if(n==x && f) return ; if(!n) f=true; diamond_ptline(n, x-n, ch1, ch2); if(f==false) diamond_print(n-1, ch1, ch2); else diamond_print(n+1, ch1, ch2); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.20.167

03/11 03:59, , 1F
/ [問題] 打星號畫圖
03/11 03:59, 1F
文章代碼(AID): #1BbvnHl3 (C_and_CPP)