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

C語言部落格作業03---函式

1.本章學習總結

1.1思維導圖

1.2本章學習體會及程式碼量學習體會

1.2.1學習體會

這周主要學習了函式的一些基本內容,瞭解到了局部變數,全域性變數等,函式在解題方面把內容分成模組,使用起來會比較容易理解,看著層次分明點,但是在函式的呼叫這塊我還不是很熟練,還好相關題目做起來好像不是很難,pta寫得還算比較順暢,有些不懂的題目也及時問了同學,在做題的過程中獲得了成就感,總之這周的C語言學習還算愉快~~

1.2.2程式碼累計

2.PTA總分

2.1截圖PTA中函式題目集的排名得分

2.2 我的總分

函式得分:145
總分:145

3.PTA實驗作業

3.1 PTA題目1

本題要求實現一個判斷素數的簡單函式,並利用該函式驗證哥德巴赫猜想:任何一個不小於6的偶數均可表示為兩個奇素數之和。素數就是隻能被1和自身整除的正整數。注意:1不是素數,2是素數。

3.1.1 演算法分析

判斷是否是素數的函式
for i=2 to p;
     if  p%i=0  
        break跳出for;
if  i==p
     返回1;
else 
     返回0;

輸出哥德巴赫猜想的函式
定義flag;
for p=2 to p<n  then do    
           if   p>q且p%i==0      //判斷p是否有因數,有就不是素數
               break;
           if   q%i==0
                break;
           if    i==q-1      then do             //此時迴圈結束,輸出
                輸出n=p+q;
end  for

3.1.2 程式碼截圖


3.1.3 測試資料

測試資料1

測試資料2

3.1.4 PTA提交列表及說明



~~~
1.剛開始一個prime函式裡的素數判斷出錯了,就第二個if語句的判斷條件寫成了i<=p,在編譯器上執行除錯的時候沒有發現,後來改回i==p答案正確.
2.有多個答案正確是因為後來發現自己寫的輸出哥德巴赫猜想的函式有點複雜,看了別的同學提交的部落格作業,發現有更簡便的方法,所以在pta上又打了一遍.
~~~

4.大作業

4.1 函式關係圖

4.2 函式功能介紹

1.函式1

ji
~~~
這是一個選單函式,因為考慮到有三個題目難度級別的選擇,所以為了更方便點,獨立設計一個函式專門來存放這三個級別,供使用者選擇,
即當用戶輸入相應數字時進入相應難度級別的題目集;
~~~

2.函式2



~~~
這是三個難度級別中的設計一級難度的函式,當用戶選擇一級難度的題目時,函式呼叫進入到該函式,然後實現函式的功能,產生
相應難度的題目;其他兩個難度級別的函式同理;
~~~

4.3執行結果截圖


4.4 除錯碰到問題及解決辦法

1.一開始在選擇選單時,如果熊孩子輸入除了1,2,3之外的數字或者字元,不知道怎麼讓它執行,然後加了一個default : exit(0);
讓熊孩子輸入非法字元時,直接退出程式;
2.除法運算那塊,答案自動取整的問題還有待解決;

4.5 大作業總結

這個大作業程式碼量真的是蠻大的,過程有點曲折;自己設計函式,不懂的地方自己去找資料,問同學,還要處理函式銜接的問題。。。。。
給我的感覺就是好麻煩吶,折騰了幾天,做出一點苗頭的時候,感覺有了接下去的動力,想要努力去完成它,在設計這個程式的過程中,
每解決一個小問題都是一個進步,盡力去完善這個程式,即使最後它還是有很多問題,但還是覺得有成就感。