看板 C_and_CPP 關於我們 聯絡資訊
請問要怎麼用遞迴畫菱形? 雖然我分解成一次畫一行, 然後再用其函數和靜態變數來用 感覺是偷吃步, 方法好像不是很好 請問有比較好的方法嗎? 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
xlk:/ [問題] 打星號畫圖 03/11 03:59