woulinwise wrote:又是一個自以為是的"...(恕刪) 就樓主的文章內容,似乎看不出這位老師有什麼自以為是的地方?也許題目是特異了點,也不用就這樣下定論批評該位老師的用意或教學方式吧...就像libraleu大的解法,簡單明瞭又不算"神奇",論效能也不見得比單純的兩個for loop差,也許很多人都會,但當下就是想不出來可以這樣寫,若是以這樣的題目訓練學生多思考,而不是都只挑簡單的用一堆for,if來兜程式又有何不可?單純用一堆for loop寫的程式,loop一多才更難懂吧?樓主問的是解法,看看題目,當遊戲玩玩解題就是,何必又扯上教育怎樣...
naivetechen wrote:就樓主的文章內容,似...(恕刪) 同意.其實這一整件事情, 應該看的是老師教到何處為準. 每個老師都有自己的想法, 但通常作業都是配合教學進度來出題居多. 雖然有人會以為老師自以為是, 但更多的狀況是一堆一知半解的人在說誰自以為是.寫程式這東西要的是常練習, 而且要的是"多思考, 多嘗試". 一支程式可以用各種寫法完成, 但多嘗試別的辦法, 多思考其它的解法, 才能有助提升程式能力. 寫註解, 縮排式程式碼, 都在增加程式的易讀性; 但先決條件還是你必須有能力把程式寫出來, 才能要求寫的美, 寫的精簡, 寫的迅速, 寫的易懂. 說道大學寫些什麼東西, 以前我大學程式設計作業是用Turbo C寫接龍, 而且還得用程式自己把牌局玩完, 而且是人人都要寫.至於Team Work, 每家公司的Team Work法都不一樣, 各自有各自的準則. 包含命名原則, 副程式封裝的原則, Class的定義, 以及慣用語法等等均有所差異. Team Work一般大學會在專題的部份進行練習, 針對寫程式的話, 眼前是先多學多練習多思考才是上策. 出去工作之後, Team Work的法則公司會有一套規範, 過去再適應還來的及.至於樓主的做法嘛, 這年頭在網路上問作業的實在太多. 大家都用問的就好, 自己想都沒好好想過, 甚至問來的就交出去也沒搞懂, 這個樣子達不到學習的效果, 本人不贊同這種做法.不過, 目前看了半天是有許多做法. 但請切記一件事情, 嚴格來說, 在C裡面即便是使用"*****"也算使用到陣列以及指標了. 所以, 還是要看老師在教何處, 在教什麼東西, 才能配合解題. 但是呢, 請多思考, 你把自己寫的貼出來, 大家來幫忙看看錯在何處是可以的, 可以當成程式技法交流. 但若僅是在問答案, 那叫投機取巧, 和抄作業是同一件事, 差別只在抄網路或抄同學罷了, 不足取!
寫程式要多翻書....以前買的 TURBO C 函式總整理,有空時就K, 多了解一些 基本的函式, 有時會讓你多一些工具用...自己開發FUNCTION 也是可以...不過覺得, 現在的人寫程式, 大都直接上網找SAMPLE CODE...近年來我也是如此, 原因是自己年紀大了, 現在的程式太複雜,花最多時間的不是在寫程式本身, 而是在做介面....學了C /C++, 還要再學 MFC/OWL.. 等等...還是VB比較可愛....
libraleu wrote:寫程式要多翻書......(恕刪) 多翻書是好事, 但我比較常多翻Help檔. 目前微軟Visual Studio的Help檔寫的實在是好, 比國內一堆芭樂程式語言書更好. 其實免錢的好書就在你電腦裡, 只差在看不看的懂以及會不會去翻它罷了.
for (i=0;i<5;i++) {printf("%s\n\r",substr("*****",0,5-i));}大概10年沒寫了, 好像是這麼寫的, 這應該是老師在寫字串函式的熟練程度... 的確跟教育態度沒什麼關係..
PROGRAM MAINIMPLICIT NONEINTEGER :: ICHARACTER(LEN=6) :: CHARDO I= 5, 1, -1CHAR = REPEAT('*',I)WRITE(*,*) CHAREND DOPAUSEEND PROGRAM MAIN