c語言部落格作業03-函式
1.1 思維導圖
1.2 本章學習體會及程式碼量學習體會
1.2.1 學習體會
-函式為一項新的知識,和之前學的不一樣,要掌握就必須設計並運用好所定義的函式,以此來輔助主函式的運算。
-函式的呼叫不是很熟練,具體要在哪裡呼叫合適不是很明確。
-在函式的設計方面沒完全掌握,設計中存在缺陷。
1.2.2 程式碼累計
2.PTA總分
2.1截圖PTA中函式題目集的排名得分
2.2 我的總分:
總分:145分。
3.PTA實驗作業
3.1 PTA題目1
實現一個判斷素數的簡單函式,並利用該函式驗證哥德巴赫猜想。
3.1.1 演算法分析
-定義prime函式
{ 定義j為除數,p為判斷物件
for(j=1;j<=p/2;j++)
p%j==0 p不為素數 return 0;
for break;
j>p/2,且p不等於1,p為素數 return 1}
-定義Goldbach函式{
int f1,f2為分解成的兩個素數;
for(f1=2;f1<n;f1++)
f2=n-f1;
if(f1,f2同為素數) 輸出n=f1+f2
break;
3.1.2 程式碼截圖
3.1.3 測試資料
3.1.4 PTA提交列表及說明
Q1:素數判斷時漏了1,未對1進行判斷
A1:修改迴圈,之後的if語句加上1這種情況。
Q2:分解為兩個素數相加時迴圈設定沒搞清楚,不能輸出最小的p值。
A2:修改迴圈範圍,從最小開始迴圈,大於等於n時停止迴圈。
4.大作業
題目:實現小學四則運算
4.1.函式關係圖
4.2.函式功能介紹
1.函式1
-功能:隨機生成兩個運算數與一個運算子,進行加減乘除運算。並計算正確率。
-思路:定義兩個字母作為隨機生成的運算數,再定義一個字母來控制運算子。
設計運算來計算正確率。
每次運算結束後輸出提示,確認是否退出,不退出則繼續運算。
2.函式2
-功能:隨機生成三個運算數與兩個運算子,進行兩步加減運算。並計算正確率。
-思路:定義三個字母作為隨機生成的運算數,再定義兩個字母來控制運算子。
設計運算來計算正確率。
每次運算結束後輸出提示,確認是否退出,不退出則繼續運算。
3.函式3
4.3 執行結果截圖
4.4 除錯碰到問題及解決辦法
Q1:正確率計算時沒定義浮點型,導致每次結果都為0.
A1:修改正確率的定義方式,並乘上1.0000。
Q2:每次迴圈之後輸入退出提示後自動跳出新的運算。
A2:迴圈後加上if語句,當輸出不為0的數時,再加上continue來繼續迴圈。
Q3:不會自動生成運算子。
A3:詢問同學以及百度找方法,得知先定義一個隨機數,再利用隨機數控制運算子號。
4.5 大作業總結
-問題:函式多的情況下編寫比較困難,但如果找好函式間的關係,不漏掉細節,就可以編出來。
-注意事項:在以後的編寫中,要儘量避免不必要的錯誤,不然會影響之後的編寫;
注意先編出程式的框架,然後再新增細節,修改bug。
遇到大程式編寫困難時,及時查詢資料,尋找解決辦法。