這個作業屬於那個課程 | C語言程序設計II |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9771 |
我在這個課程的目標是 | 熟悉的掌握C語言,迅速且正確的完成PTA作業 |
這個作業在那個具體方面幫助我實現目標 | 熟悉掌握C語言 |
參考文獻 | https://www.cnblogs.com/pengchen511/p/10564067.html,Markdown語法,常見問題解答(FAQ) |
1.PTA實驗作業
1.1 題目名1
本題要求編寫程序,計算序列 1 + 1/2 + 1/3 + ... 的前N項之和。
輸入格式:輸入在一行中給出一個正整數N。
輸出格式:在一行中按照“sum = S”的格式輸出部分和的值S,精確到小數點后6位。題目保證計算結果不超過雙精度范圍。
輸入樣例:6
輸出樣例:sum = 2.450000
1.1.1數據處理:介紹實現本題過程中,你的數據表達、數據處理是怎么做的。
數據表達:
①用了i,n,sum三個變量;
②sum的值通過賦值來的,是雙精度浮點型變量;
③i的值是賦值來的,n的值是通過scanf()函數得來的,i,n都是整型變量。
數據處理:
①數據用到的表達式有賦值表達式,算數表達式;
②流程結構:循環結構。
1.1.2實驗代碼截圖
1.1.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
6 | 2.450000 | 與題目樣例一樣正確 |
10 | 2.928968 | 隨機取十位數檢查能否運行 |
100 | 5.187378 | 隨機取百位數檢查能否運行 |
1.1.4 PTA提交列表及說明
提交列表說明:
1.編譯錯誤:好像是在for語句前沒有打i=1導致的,打上去之后就出現了段錯誤。
2.段錯誤:之前都沒見過這種錯誤類型,查看常見問題解答(FAQ),里面說可能是數組越界,堆棧溢出(比如,遞歸調用層數太多)等情況引起;不太記得了當時代碼是怎樣的了,希望老師到時候可以講講!
3-7.答案錯誤:scanf括號里面" "把, &n包括進去了,直接把 "調到d后面。
8.答案正確。
1.2 題目2
本題要求編寫程序,計算序列 1 + 1/3 + 1/5 + ... 的前N項之和。
輸入格式:輸入在一行中給出一個正整數N。
輸出格式:在一行中按照“sum = S”的格式輸出部分和的值S,精確到小數點后6位。題目保證計算結果不超過雙精度范圍。
輸入樣例:23
輸出樣例:sum = 2.549541
1.2.1 數據處理
數據表達:
①用了i,n,item,sum變量;
②sum,item的值通過賦值來的,是雙精度浮點型變量;
③i的值是賦值來的,n的值是通過scanf()函數得來的,i,n都是整型變量。
數據處理:
①數據用到的表達式有賦值表達式,算數表達式;
②流程結構:循環結構。
1.2.2 實驗代碼截圖
1.2.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
23 | 2.549541 | 與題目樣例一樣正確 |
50 | 2.937775 | 隨機取正整數檢查能否運行 |
5000 | 5.240352 | 對比輸入大數據和小數據后結果的差距 |
1.2.4 PTA提交列表及說明
提交列表說明:
1-4.答案錯誤:之前答案錯誤好像是因為把“printf ("Enter n:"):”,同學說PTA好像不能識別這個,於是后面就把它刪掉了。后面就到了編譯錯誤。
5-6.編譯錯誤:好像又是因為在for語句前沒有打i=1導致的,后面打好后就ok了。
7.答案正確。
2.代碼互評
同學代碼截圖
自己代碼截圖
①第一個同學的代碼其實有的地方沒看懂,一是我們用了不同的符號表示變量;二是她用了float變量,我一直沒有用過,還有float變量的表達看不懂!代碼整體還是很工整的。
②第二個同學的代碼感覺簡單明了點,易看懂,她的代碼第二行輸入了“#include<math.h>”,我五個題目都沒有輸入,想知道什么時候一定要輸入那個!
3.學習總結
3.1 學習進度條
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
第8周/10.18 | 兩天左右 | 84 | 循環結構,for語句 | 在Dev-C++里面正確的代碼到PTA上是答案錯誤怎么解決 |
3.2 累積代碼行和博客字數
3.3 學習內容總結和感悟
3.3.1 學習內容總結,整理本周學習的主要知識點,並能對每個知識點介紹簡單案例或語法。
本周學習的主要知識點是循環結構,循環結構里面包括for語句,當然也包括printf函數和scanf函數;
案例:求編寫程序,計算交錯序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N項之和。
3.3.2 學習體會
感覺這周是我目前寫PTA最認真一周,經過了1-2題的折磨,大概弄懂了這類型題目的套路,哈哈!所以我在第三題的時候直接就做對了,那種感覺太棒了!第五題的類型也差不多,我有信心做出了,可是提交后是答案錯誤,那個時候有點崩潰啊!把它復制到Dev-C++里面是正確的!可是PTA上就是錯誤的!特別想知道這個要怎么改!感覺有時候懂了意思,在打代碼,很有趣,哈哈!