C語言博客作業3--函數
1.本章學習總結
1.1思維導圖
請以思維導圖總結本周的學習內容,如下圖所示:
1.2本章學習體會及代碼量學習體會
1.2.1學習體會
描述本周學習感受,也可以在這里提出你不理解地方,對教師教學建議等。
這周學習的函數,沒有掌握,只是能看懂,要是讓自己寫應該是寫不出來,但還是學到了一些知識,例如:函數是由實參傳給形參,形參只能是變量,void表示不返回結果,return只返回一個結果,局部變量的應用,全局變量的作用和靜態局部變量等。
1.2.2代碼累計
在excel中畫如下表格,保存好,復制到博客隨筆。注意要累計所有代碼量。
2.PTA總分(2分)
2.1截圖PTA中函數題目集的排名得分
貼圖展示。
2.2我的總分:105分
填寫本次題目集的總得分。
<span style ="color:red">注意,請把PTA代碼展示給批閱助教,並能完整回答助教問題,才能得滿分。否則根據回答情況給分。</span>
3.PTA實驗作業(6分)
從PTA題目集中選1題你最滿意的題目,題目選難度越大,分值越高。
3.1PTA題目1
簡要介紹題目,如:
本題要求實現兩個函數:一個函數判斷給定正整數的各位數字之和是否等於5;另一個函數統計給定區間內有多少個滿足上述要求的整數,並計算這些整數的和
3.1.1算法分析
以偽代碼方式描述算法思路。偽代碼注意文字+C語法方式描述,不要純C代碼或者C代碼直接翻譯,能做到看了偽代碼就知道你的思路是如何。
temp=number; //用temp存儲number
do{
temp/=10; /*判斷number有幾位數;
mask*=10;
}while(temp>0);
while(mask>0) /*用while語句求出number的各個位數;
{
temp1=number/mask;
number%=mask;
mask/=10;
sum+=temp1;
}
再用一個if語句判斷number的各個位數之和是否等於5;
再用一個for循環求出符合條件的數的和sum;
3.1.2代碼截圖
貼圖展示代碼,不要復制,如
3.1.3測試數據
用表格的形式給出測試數據列表,測試數據自己設計,測試數據要全面,能考慮程序各種情況。excel中造表復制進來,如:
3.1.4PTA提交列表及說明
根據提交列表,簡要描述下調試程序碰到的問題及解決辦法。
Q1:把全局變量中的number忽略了,沒有在main() 函數中使用。
A1:請教同學幫忙看代碼,找出問題改正。
4.大作業(5分)
題目:實現小學四則運算。
4.1函數關系
可以用思維導圖工具畫函數調用關系。如:
4.2.函數功能介紹
1.函數1
文字介紹函數功能,思路,截圖函數代碼。
主函數:寫菜單。
2.函數2
文字介紹函數功能,思路,截圖函數代碼。
等等
產生隨機數和隨機運算符
3.函數3
文字介紹函數功能,思路,截圖函數代碼。
等等
調用Rate函數計算正確率
4.3 運行結果截圖
按照程序功能,分別截圖展示運行結果,對於臨界,不合法數據,可單獨截圖運行結果圖。
4.4 調試碰到問題及解決辦法
Q1:忘記把調用的函數放到主函數里
A1:找同學幫忙看代碼
Q2: 調用的函數名與定義的變量名相同。
A2: 把調用的函數名的首字母大寫
Q3 每次運行只能做一題
A3: 在主函數里的調用函數外面用一個for循環
4.5 大作業總結
回顧這個作業編寫過程,總結碰到問題及后續程序編寫注意事項。
總的來將,相對於我而言,還是比較難的,我個人基礎薄弱,大多問題是問同學解決的,我在寫程序的時候沒把調用的函數寫在主函數里,導致調用的函數不能運行。產生隨機數和運算符的代碼,關於怎么產生1位,2位隨機數的代碼有瑕疵,用百度查了怎么產生隨機運算符,回答的是用數組的方法來做,但是我不懂數組的用法。要記得給函數聲明。