作者adrianshum (Alien)
看板C_and_CPP
標題Re: [問題] 打星號畫圖
時間Wed Nov 4 15:12:31 2009
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 220.137.78.72
: 推 VictorTom:嚴格的來說這個方法是兩層迴圈吧@_@" 11/04 14:38
: → VictorTom:不然其實我寫個遞迴版的, 改變call深入與印*的順序, 就 11/04 14:39
: → VictorTom:產生兩題的答案了XD 11/04 14:39
void printStar(int num) {
if (num > 0) {
printf("*");
printStar(num - 1);
}
}
void printStarLine(int size, boolean increment) {
if (level > 0) {
if (increment) {
printStarLine(size -1, increment);
}
printStar(size);
printf("\n");
if (!increment) {
printStarLine(size - 1, increment);
}
}
}
所以要
***
**
*
就
printStarLine(3, false);
*
**
***
就
printStarLine(3, true);
可以嗎? :P
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.155.236.82
※ 編輯: adrianshum 來自: 202.155.236.82 (11/04 15:19)
※ 編輯: adrianshum 來自: 202.155.236.82 (11/04 15:19)
※ 編輯: adrianshum 來自: 202.155.236.82 (11/04 15:21)
→ VictorTom:壞蛋XDDDDDDD 可是您忘了要用一層for loop XD 11/04 15:27
→ VictorTom:for(;!printf("*\n**\n***\n");); 這是原po一開始沒講 11/04 15:28
→ VictorTom:清楚細節時, 小弟當初想到的答案....XDDD 11/04 15:29
→ adrianshum:一層嗎...? 那麼 for(i=0;i<1;i++){printStarLine(..)} 11/04 17:21
推 VictorTom:XDDD 11/04 17:29