1. 程式人生 > >c語言部落格作業03-函式

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。

                   遇到大程式編寫困難時,及時查詢資料,尋找解決辦法。