我要在這篇文章中分享,我自己在程式設計方面是如何學習的
但不代表適合每個人,所以還是要找出適合自己的學習方式
但最重要的還是你對於程式設計的熱忱
- 大量的練習題目
也就是題庫的來源,Practice makes perfect(熟能生巧),練習是不會騙人的
所以還在打LOL的你快把遊戲關了,當個中離狗吧~
這裡分享幾個題庫網站,有空就可以去看看題目,多多的練習。
CPE大學程式能力檢定、ITSA程式桂冠挑戰大賽這些比賽的題庫、比賽時有些題目都會從這裡面出個幾題。
中文、英文題目都有,我自己目前也都是用這個網站在練習。
輸出的最後一定要打上換行
- UVa Online Judge: https://uva.onlinejudge.org/index.php?option=com_comprofiler&task=login
全英文的題庫網站,我自己也沒用過
- Lucky貓的UVA(ACM)園地:http://luckycat.kshs.kh.edu.tw/
翻譯、整理UVa題目的中文網站,如果覺得用UVa很吃力,可以參考這個
- 解題構思
既然題目都有了,那麼開始解題吧!
以下都用C/C++講解
- 變數宣告:變數的宣告一定要有意義,別人看不看得懂就算了,但自己要搞清楚這個變數名字代表甚麼
假設有題目:輸入一個整數,輸入多少,就輸出多少次"Hello World"
我剛開始寫程式時,要宣告輸入值時,我一定宣告
假設題目:輸入三個數,如果三個都是偶數,印出Y,否則,印出N
按照我以前寫的寫法
這麼一大堆沒意義的變數,就會造成混亂
所以現在要宣告變數時,我就會用一些英文單字來命名
例如:輸入一個整數
我就會用
- 解題方向:當一看到題目,我會先想人腦是怎麼思考的,再開始寫
問題描述:右圖是一個 7X7 的矩陣,其中有三個燈泡。燈泡能照到垂直與水平的所有空格,
然而燈光會被黑色方塊擋住。這個問題是要在給定的燈泡與黑色方塊配置下,找出沒有被燈光照到的白方格總數。
輸入說明:
在本問題中, input 是大小為 7X7 的問題原始配置,其中白方格以 0 表示,黑方格以 1 表示,燈泡以 2 表示,如下圖:
- 遇到困難,怎麼辦?
當寫程式到一半卡住時,怎麼辦?
我卡住的當下,如果只是寫好之後的程式出錯,改一下就OK的,我就會堅持到調整好。
如果是連打都不知道怎麼打的,我就會先跳過,解其他題,這樣有可能會在其他題目裡找到跳過題目的解法。
希望我的分享都可以幫助到喜歡寫程式的各位,謝謝閱讀。
若想閱讀相關文章請關注我的粉絲團
小資菜鳥向前衝
留言列表