二 PTA實驗作業(函式)

2022-08-23 20:27:12 字數 3607 閱讀 5114

題目一:

2.設計思路(包括流程圖),主要描述題目演算法

//由題目,設計思路如下

1.該題目可以將乙個公式拆分為三個子函式

2.宣告乙個fact()子函式用於求分子n!;然後多次呼叫這個函式

3.最後在主函式中呼叫三次函式組合成乙個公式就可的到最終的結果

4.流程圖如下:

最終的**如下:

#includedouble fact(int i);

main()

double fact(int i)

3.本題除錯過程碰到的問題及pta提交的情況說明(**注意:除錯過程必須截圖說明如何除錯,如何解決問題,pta提交的列表中的每乙個錯誤詳細說明為什麼及如何解決)編譯上傳之後出現部分錯誤,多次修改之後還是有錯誤,與同學對比,也沒有結果,便不了了之

題目二:

2.設計思路(包括流程圖),主要描述題目演算法

//由題目,設計思路如下

1.利用for()迴圈語句和數學公式sqrt(),先宣告乙個函式用於求2的指數冪之和

2.在主函式中需要定義整型變數n,result;

3.輸入n的值,並且把n的值傳遞給子函式

4.最後根據題目要求輸出子函式返回的值

5.流程圖如下:

最終的**如下:

#include#include

double fact(int

i);main()

printf(

"result = %d

",result);

}double fact(int

i)

3.本題除錯過程碰到的問題及pta提交的情況說明(**注意:除錯過程必須截圖說明如何除錯,如何解決問題,pta提交的列表中的每乙個錯誤詳細說明為什麼及如何解決)一開始忘記參照題目格式,出現格式錯誤,後來修改之後,便正確了

題目三:

2.設計思路(包括流程圖),主要描述題目演算法

//由題目,設計思路如下

1.該題目可以將乙個公式拆分為兩個子函式

2.宣告乙個sushu()子函式用於判斷素數,另外乙個用來控制迴圈

3.最後在主函式中函式

4.流程圖如下:

最終的**如下:

#include#include

int ss(int

m)main()

for(m=0;m)

}

3.本題除錯過程碰到的問題及pta提交的情況說明(**注意:除錯過程必須截圖說明如何除錯,如何解決問題,pta提交的列表中的每乙個錯誤詳細說明為什麼及如何解決)在第一次編寫之後,總是執行不出正確答案,後來發現,自己粗心,把1當做素數來判斷,導致出現問題,後加以修改,便成功的出所要的語句。二、同學**互評

1.我的**:

#include#include

int ss(int

m)main()

for(m=0;m)

}

2.同學:李嘉林同學的**:

#include#include

int sushu(int

n) }

return1;

} int

main()

for(i=0;i)

else printf("

no\n");

}}

3.我和同學的**有哪些不同?各自有哪些優勢?你更喜歡那種**的風格?李同學的**更短,也更簡單,我思考問題複雜化了,我的更適合新手,比較喜歡她的**三、截圖本週題目集的pta最後排名

四、本週學習總結

1.本週你學會了什麼?

1.本週學會簡單的宣告乙個函式,呼叫函式;

2.以及宣告函式過程的引數的選擇

3.學會了如何把乙個複雜的函式拆分為多個簡單的函式

2.本週的內容,還有那些內容不會?

1. 一些較複雜的函式還不會如何宣告,比如指數型的函式,對於引數總是容易弄錯

pta實驗作業

題目二陣列練習 void main int x,i,j 6 printf 原來的陣列從小到大順序如下 n printf 12,17,20,25,28,30 n printf 請輸入要插的數 n scanf d x a 0 x i j while a i x a i x j for i 1 i j i...

一 PTA實驗作業

本週要求挑選3道題目寫設計思路,除錯過程。設計思路用偽 描述。題目選做要求 順序表選擇一題 6 2,6 3,7 1選一題 單鏈表選擇一題 6 1不能選 有序表選擇一題 6 3 jmu ds 順序表刪除重複元素 6 2 jmu ds 單鏈表逆置 7 1 兩個有序鍊錶序列的合併 二.設計思路 偽 或流程...

實驗二作業

1.問題 1 用floyd演算法求解下圖各個頂點的最短距離。寫出floyd演算法的偽 和給出距離矩陣 頂點之間的最短距離矩陣 按實驗報告模板編寫演算法。2 對於下圖使用dijkstra演算法求由頂點a到頂點h的最短路徑,按實驗報告模板編寫演算法。2.解析 1 floyd 若則dist i k dis...