iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 20
0
Software Development

提神?看程式比喝咖啡更有效。系列 第 20

輕談:聖誕節的樹[1]

聖誕節到了(其實早就過了),當然要用程式來慶祝一下
先為大家送上程式碼

int max = 10;
int main(){
	     if(max<4)
             max=4;
         if(max%2==1)
             max++;
    for(int Do_B=0;Do_B<max;Do_B++){
        for(int out=0;out<(max-Do_B);out++){
        printf(" ");   
        }
    for(int Do_A=0 ; Do_A<(1+(Do_B*2)) ; Do_A++){
	    printf("*");  
        }
printf("\n");
}
	for(int Do_B=4;Do_B<max;Do_B++){
        for(int out=0;out<(max-Do_B);out++){
        printf(" ");   
        }
	for(int Do_A=0 ; Do_A<(1+(Do_B*2)) ; Do_A++){
	    printf("*");  
        }
printf("\n");
    }
for(int Do_D=0 ; Do_D<(1+(max*2))/4 ; Do_D++) {
	for(int out=0;out<(1+(max*2))/3 ; out++){
        printf(" ");   
        }
    for(int Do_C=0 ; Do_C<(1+(max*2))/3 ; Do_C++){
        printf("*");
        } 
printf("\n");
} 
return 0;
}

https://ithelp.ithome.com.tw/upload/images/20171227/20107818dirC71wJQD.png

聖誕樹:
第一層有 1個*
第二層有 3個*
第三層有 5個*
大家還記得數學中等差
a+(n-1)d
只要把公式套用進去,就變成for(int Do_A=0 ; Do_A<(1+(Do_B*2)) ; Do_A++)
根據目前的行數而決定執行多少次

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

我們可以把聖誕樹拆成不同圖案,再利用程式來表達
https://ithelp.ithome.com.tw/upload/images/20180102/20107818AzVRr8hNyq.png

    for(int Do_B=0;Do_B<max;Do_B++){
        for(int out=0;out<(max-Do_B);out++){
        printf(" ");   
        }
    for(int Do_A=0 ; Do_A<(1+(Do_B*2)) ; Do_A++){
	    printf("*");  
        }
printf("\n");
}

這是利用*晝出三角形

==================分格線==================
文章很早就開始寫了,但一直修正...
寫了很多,又發現好像不太適合,所以又刪了
那我們直接分享心得好了...

上課就是這樣,總要面對一些自己沒興趣的課。但即使如此,還是要堅持了解內容,至少要明白老師在說什麼,把知識大概的內容記下來。
也許目前沒機會用到,但當你將來發現它有用處時,也可以用GOOGLE大神搜索關鍵字、惡補知識。
如果你頻頻蹺課、在教室睡到醉生夢死,即使你將來後悔當初,也恨錯難返。因為面對陌生的知識,連問題的關鍵字也不知道,根本無從入手。

知道自己發現問題也是比較好的情況,最糟糕是連問題也發覺不了。
就好像電腦白痴只會一直覺得電腦愈來愈慢,而無所適從。而我們經過專業判決後,就有可能是記憶體容量過多、電腦中毒、驅動沒更新而導致...

知道要輸出什麼結果,卻不知道程式要怎麼表達。
這時你就可以先把結果用紙筆寫出來,並把出規律,再嘗試利用數學公式套入程式中。
「先求有,再求好」
先把效果寫出來(當然不可以是直接printf出答案),再慢慢修改、優化程式
慢慢的,自己的結晶品就慢慢成長了。

所以,結論是:讀書很重要...


上一篇
else if基本概念[1]
下一篇
電腦實際上可以用多久?
系列文
提神?看程式比喝咖啡更有效。30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言