total[]) { if ( total[DEALER] == 21 ) { pr ...
View Code 繼續走查dispCard 函數: dispCard 函數的功能是顯示抽到的牌的點數並計算抽牌者目前的總點數。這個函數最主要的毛病是可讀性差,原因主要有兩點,第一,在switch語句中蹩腳地嵌套了一句if語句,實際上這個switch語句可以這樣寫: void dispCard int cardDrawn,int points void dispCard int cardDraw ...
2013-07-10 10:57 8 1009 推薦指數:
total[]) { if ( total[DEALER] == 21 ) { pr ...
【重構】(續) 牌的表示: 一副牌有52張,可用一整數數組描述。但是由於在游戲過程中牌數在不斷減少,所以用一表示剩余張數的整數和一整數數組共同描述。C99支持一種變量長度數組,但用在這里並沒有什么特別的好處,並不合適。 typedef struct { int cards[52 ...
《寫給大家看的C語言書(第2版)》是郵電社圖靈公司引進翻譯的一本C語言入門書,這是一本垃圾書。搞不清圖靈為什么引進了這樣一本垃圾書。該書作者基本不懂得C編程技術,書中誤導、錯謬比比皆是。 該書的附錄B給出了一個21點游戲的代碼,這是一個很糟糕的C程序,毛病很多,實在不足以為初學者以示 ...
下面來考察一下main()的總體結構。 main()函數中do-while語句循環體部分的含義是這樣的 與下面寫法相比,兩者在邏輯上的結構差別很明顯 ...
【題目】 將一個5*5的矩陣中最大的元素中最大的元素放在中心,4個角分別放4個最小的元素(順序為從左到右,從上到下依次從小到大存放),寫一函數實現之,用main函數調用。 ——譚浩強 ,《C程序設計(第四版)學習輔導》,清華大學出版社,2010年7月,p108【評析 ...
【題目】 猜數字(又稱 Bulls and Cows )是一種大概於20世紀中期興起於英國的益智類小游戲。一般由兩個人玩,也可以由一個人和電腦玩,在紙上、在網上都可以玩。這種游戲規則簡單,但可以考驗人的嚴謹和耐心,而這也正是程序員所需要的優秀品質。 標准規則如下: 通常 ...
前文鏈接:劣質代碼評析——猜數字問題(上)【重構】 這個問題的解決並不復雜,最多只需要三個步驟: 生成無重復數字的四位整數; 重復猜數字最多10次,猜中則宣布勝利,程序結束; 10次沒猜中,宣布失敗,程序結束。 用C語言描述這個過程應該是 ...
【題目】 15.有一個班4個學生,5門課程:①要求計算第一門課程的平均分;②找出兩門以上課程不及格的學生,輸出他們的學號和全部課程成績及平均成績;③找出平均成績在90分以上或全部成績在85分以上的學生。分別編寫3個函數實現以上3個要求。 ——譚浩強 ,《C程序設計(第四版)學習輔導 ...