問題 | 答案 |
---|---|
這個作業屬於哪個課程 | C語言程序設計II |
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9770 |
我在這個課程的目標是 | 學會並熟悉運用C語言 |
這個作業在哪個具體方面幫助我實現目標 | 進一步學會了數據處理,PTA使我學會了for語句 |
參考文獻 | 《C Primer Plus》《C語言程序設計》 |
1. PTA實驗作業
1.1 求平方與倒數序列的部分和
題目內容:本題要求對兩個正整數m和n(m≤n)編寫程序,計算序列和m2+1/m+(m+1)2+1/(m+1)+⋯+n^2+1/n。
1.1.1 數據處理
數據表達:用了整形變量m、n,雙精度浮點型變量sum、s。
數據處理:使用了for循環語句,輸入兩個數m,n,循環執行從m到n累加循環式S=m^2+1/m.
1.1.2 實驗代碼截圖
1.1.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
5 10 | 355.845635 | 樣例數據 |
7 10 | 294.478968 | 較小的兩個數 |
365 800 | 154844310.786710 | 較大的兩個數 |
7 700 | 114578363.679010 | 一小一大的數 |
1.1.4 PTA提交列表及說明
- 編譯錯誤:只給m賦值,忘了需要輸入兩個正整數m,n,改成了scanf(“%d %d”,m,n)
- 編譯錯誤:沒有用數學式函數,應該用pow(m,2)來表示m的平方
- 編譯錯誤:s變量定義錯誤,應該是雙精度浮點型,我定義成了整型
1.2 求交錯序列前N項和
題目內容:本題要求編寫程序,計算交錯序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N項之和。
1.2.1 數據處理
數據表達:使用整形變量n、i、flag、a,作為輸入數據,使用了雙精度浮點變量sum、s用來儲存數據
數據處理:用flag表示符號,初始為正,找出循環規律s=flagi/(2i-1.0),從i=1開始,累加所有循環到n次
1.2.2 實驗代碼截圖
1.2.3造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
5 | 0.917 | 輸入樣例 |
10 | 0.380 | 較小的數 |
500 | 0.392 | 較大的數 |
1.2.4 PTA提交列表及說明
- 答案錯誤:公式s=flagi/(2i-1.0)中第二個乘號沒打。
2. 代碼互評
2.1 題目7-4
題目截圖
2.1.1 同學代碼
2.1.2 自己代碼
不同點:
- 她用了三個整形變量,我用了兩個,其實就直接把m表示i了
- 我用了數學格式函數pow,她直接用i*i表示平方
2.2 題目7-3
題目截圖
2.2.1同學代碼
2.2.2自己代碼
不同點:
- 我使用整型變量flag來表示正負,她直接在雙精度浮點變量t公式定正負
- 她用了余數表示,如果累加為偶數次,此項為負號,奇數次則為正
- 循環累加的公式規律也不一樣,但是是表達的同一個意思
3. 學習總結
3.1 學習進度條
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
第一周 | 7天 | 39 | 學會用markdown語法寫博客園,用PTA打代碼 | 代碼格式一無所知 |
第二周 | 6天 | 60 | 下載編譯器,學到了提問的智慧 | 對編譯器還是不了解 |
第三周 | 3天 | 121 | 分段函數的表達,if-else語句的用法 | 對各語法還是不了解,數學庫函數有太多不知 |
第四周 | 3天 | 77 | for循環語句,累加計算 | 對各語句還是不熟練 |
3.2 累積代碼行和博客字數
3.3 學習內容總結和感悟
3.3.1 學習內容總結
本周主要學習了for循環語句。先定義變量,明白自己所需要求的值是執行幾次累加。找到循環的規律,如果有需要遞增或者變號的規律,那么也把規律一起加入循環的內容里,正負循環可以使用變量flag=-flag,flag初始值為1,也可以直接用公式表示。比如s是一個公式,打上s=-s也可表示正負變號。先在外面要記得定義累加初始值。
3.3.2 學習體會
對代碼表示有了進一步的了解,但是有時候還是想不起來用數學庫函數,所以有些題就有點在公式表達上卡住了。for循環也基本只能明白一點點,根據一些例題可以明白有哪些內容是需要加在循環體內的。無論做什么都要有清晰的頭腦,可能是這次PTA題目相似度比較高,老師上課也講過,所以沒有花太多時間,有時候覺得,一次性過了是一件讓人很開心的事情,就算是因為題目簡單或者有例題,我還是覺得自己沒有剛開始那么什么都不懂了。有些不會的還是會問同學,總有會的同學幫我解答,有同學還會找角度幫我分析,讓我自己明白錯誤點在哪里,這樣對我的幫助很大,我也會繼續好學下去的!!!加油!