這個作業屬於那個課程 |
這個作業要求在哪里 |
我在這個課程的目標是 |
這個作業在那個具體方面幫助我實現目標 |
參考文獻 |
1.PTA實驗作業(20分/題)
從PTA題目集中選出2個你最滿意的題目完成以下內容,選擇題目難度越大,分值越高,每題20分(每項5分)
1.1 題目名
本題要求對兩個正整數m和n(m≤n)編寫程序,計算序列和m2+1/m+(m+1)2+1/(m+1)+⋯+n*2+1/n。
輸入格式:
輸入在一行中給出兩個正整數m和n(m≤n),其間以空格分開。
輸出格式:
在一行中按照“sum = S”的格式輸出部分和的值S,精確到小數點后六位。題目保證計算結果不超過雙精度范圍。
輸入樣例:
5 10
輸出樣例:
sum = 355.845635
1.1.1數據處理
數據表達:本題運用數據表達為int m, n;double sum;for循環; %.6lf";pow;1.0/i,+=
數據處理:輸入兩個變量m,n並賦值,再准備一個雙精度變量sum用於輸出,運用for循環將循環中的數加起來,用%.6lf保證輸出的精度為小數點后6位,最后輸出sum
1.1.2實驗代碼截圖
輸入數據 | 輸出數據 | 說明 |
---|---|---|
5 ,10 | 355.845635 | m<n |
5,5 | 25.200000 | m=n |
10,5 | 0.000000 | m>n |
1.1.4 PTA提交列表及說明
答案錯誤:是由於計算式中的“+”號打成了“*”
解決方法:改正即可
1.2 題目2
本題要求編寫程序,計算交錯序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N項之和。
輸入格式:
輸入在一行中給出一個正整數N。
輸出格式:
在一行中輸出部分和的值,結果保留三位小數。
輸入樣例:
5
輸出樣例:
0.917
1.2.1 數據處理
數據表達:本題運用數據表達為int i,j, n;double sum;for循環; %.3lf";pow(-1,i-1);1.0/i,+=
數據處理:輸入三個變量j,i,n並賦值,再准備一個雙精度變量sum用於輸出,運用for循環將循環中的數加起來,
用%.3lf保證輸出的精度為小數點后3位,由於輸出的式子中+,-號在不斷交替,所以用pow(-1,i-1)處理,最后輸出sum
1.2.2 實驗代碼截圖
1.2.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
1 | 1.000 | i=j=n |
5 | 0.917 | n>0 |
-5 | 0.000 | n<0 |
1.2.4 PTA提交列表及說明
答案錯誤:(1)一開始sum忘記賦值sum=0了
(2)%.3lf寫成了%.6lf
解決方法:各自更正就好
ps:為了使說明不那么簡陋,在這里說下如何做到答案的錯誤列表少二准確率高:
(1)先在其他C語言開發環境中將代碼寫出來,現在那些環境中運行,因為在那些環境中運行的話出錯會很清楚的告訴你哪錯了
(2)這里說說我現在所知的三個環境 1.VS2019 2.DEV C++ 3.MOOC網站上自帶的C語言開發環境(網站鏈接:https://clin.icourse163.org/)
(3)多看看MOOC上的視頻(免費的)提前學一些課上不同的內容,很有可能就寫出精簡而不容易出錯的代碼
2.代碼互評(5分)
(1)
同學代碼截圖
自己代碼截圖
區別:1.我的int i 在for的里面,這樣可以稍微少寫一點點(好吧,區別不大)
2.我比這位同學少設置一個變量,因而將兩式合並了,我認為這樣更精簡
(2)
同學代碼截圖
自己代碼截圖
區別:1.這題我比這位同學少設置了整整3個變量,而且沒那么繁瑣
2.我的賦值在設置變量時就做完了,因此可以縮短代碼行數,因而短小精悍
3.學習總結(15分)
3.1 學習進度條(5分)
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
第一周 | 2h | 72 | 輸出 | 無 |
第二周 | 3.5h | 57 | 計算 | 無 |
第三周 | 3.5h | 81 | 分支結構 | 不夠熟練 |
第四周 | 1.5h | 180 | for循環,+= | 無 |
3.2 累積代碼行和博客字數(5分)
3.3 學習內容總結和感悟(5分)
3.3.1 學習內容總結
(1)for循環結構
例.for(輸入變量並賦值,for循環結束的條件:變量到達某個值,變量的變化)
(2)+=
這個符號是從學長那學來的
例:i = i + 1 等同於 i += 1
3.3.2 學習體會
不知不覺又過去了一周,對於敲代碼的熟練程度越來越高了,並且小問題出的也少了,現在對於PTA上的作業也不抵觸了,
反而因為自己的高准確度而感到開心,對於有什么好的方法提高准確度我在 1.2.4 PTA提交列表及說明 的ps處已經詳細講到,
希望對看到的人能有所幫助,這周除了上了課以外,我還向學長學習了一些知識,比如+=和題目答案的簡化,並且對於C語言
開發環境的使用也了解了很多,使我覺得C語言的魅力越來越大了,在今后的日子里我也會提起干勁好好學的!