這個作業屬於那個課程 | C語言程序設計I |
I這個作業的要求鏈接 | https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9771 |
我在這個課程的目標是 | 學會for循環語句,理解輸出華氏-攝氏溫度表的含義 |
這個作業在那個具體方面幫助我實現目標 | 理解循環結構for的使用,sum,item有關了解 |
參考文獻 | 《百度》 《C語言程序設計實驗與習題指導》《C語言程序設計》 |
-
一.本周作業
-
- PTA實驗作業
-
- 代碼互評
-
- 學習總結
-
1.PTA實驗作業(20分/題)
-
1.1 本題要求編寫程序,計算序列 1 + 1/2 + 1/3 + ... 的前N項之和。
題目內容描述
輸入格式:輸入在一行中給出一個正整數N。
輸出格式:在一行中按照“sum = S”的格式輸出部分和的值S,精確到小數點后6位。題目保證計算結果不超過雙精度范圍。
-
1.1.1數據處理
- 1.數據表達:用了變量N代表整數,屬於整型變量。
用變量S代表輸出部分和的值,屬於浮點型變量。 - 2.數據處理:
數據用到的表達式:賦值 如把 int N ,i=1; 算術運算符利用累加和除法,關系運算符比較 i <= N;
流程結構用循環結構for語句。
-
1.1.2實驗代碼截圖
-
1.1.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
10 | sum=0.090909 | 小於0.1 |
100 | sum=0.00901 | 小於0.001 |
50 | sum=0.019608 | 小於0.2 |
-5 | sum=1.00000 | 無意義 |
45 | sum=0.021739 | 小於0.03 |
65 | sum=0.014925 | 小於0.02 |
-
1.1.4 PTA提交列表及說明
PTA提交列表
提交列表說明:
* ㈠.編譯錯誤:int main()空格忘記打,檢查后及時糾正。
* ㈡.編譯錯誤:for括號里沒有打分號。
* ㈢.編譯錯誤:沒有打include<math.h>,向同學請教。
* ㈣.答案錯誤:把i = 1打錯N=1,沒能理解題目意思,上百度查詢相關題目,重新打一遍代碼。
* ㈤.編譯錯誤:把 { 打錯成 ),檢查后立即改正。
* ㈥.編譯錯誤 :語句結束時分號在修改時不小心被刪除,看了下面的英語錯誤,發現問題。
-
1.2 題目2 求平方與倒數序列的部分和
本題要求對兩個正整數m和n(m≤n)編寫程序,計算序列和m2+1/m+(m+1)2+1/(m+1)+⋯+n2+1/n
輸入格式:
輸入在一行中給出兩個正整數m和n(m≤n),其間以空格分開。
輸出格式:
在一行中按照“sum = S”的格式輸出部分和的值S,精確到小數點后六位。題目保證計算結果不超過雙精度范圍。
1.2.1 數據處理 :
* 1.數據表達:用了變量m,n,i,代表整數,屬於整型變量。
用變量sum,item分別代表累加和變量定義,屬於浮點型變量。
* 2.數據處理:
數據用到的表達式:賦值 如把 sum=sum+item; 算術運算符利用累加和除法,關系運算符比較 i <= n;
流程結構 ;用循環結構for語句,累加sum的使用,順序結構。
-
1.2.2 實驗代碼截圖
-
1.2.3 造測試數據
輸入數據 | 輸出數據 |
10 10 | sum=100.100000 |
100 100 | sum=10000.010000 |
15 15 | sum=225.06667 |
169 123 | sum=0.000000 |
-5 3 | sum=#INFoo |
56 88 | sum=174064.466611 |
-
1.2.4 PTA提交列表及說明
* 1.編譯錯誤:include 的字母少了一個,可能沒有睡醒,忘記打,檢查后及時糾正。
* 2.答案錯誤:把i = 1打錯N=1,沒能理解題目意思,上百度查詢相關題目。
* 3.編譯錯誤:%d不用打空格,多看書,結合百度上優秀代碼,找到自己的問題。
* 4.答案錯誤:換了另外新方法,沒有仔細閱讀題目要求。
* 5.運行超時:代碼運行時間超過PTA規定的運行時間,換一種方式重新寫代碼。
-
2.代碼互評
找2份同學代碼,和自己代碼比較,建議互評代碼盡量找代碼風格差異較大。
第一位同學:
- <1>同學代碼截圖
- <1.1>自己代碼截圖
對比小結:
* 1.她的用了int <math.h>,運用了數學文件,我直接用普通語句。
* 2.我們用的變量不同,我的用了item,而她直接用累加。
* 3.他的排版比我的簡潔,應該像他多學習。
第二位同學:
- <1>.同學代碼截圖
- <2>.自己代碼截圖
對比小結:
* 1.我的用了數學頭文件,而她直接用語句。
* 2.我代碼更簡潔,用的整形變量相對少一點
* 3.同學用的賦值相對更精確,而我用單精確浮點,結果沒這么精確,這是我應該向他學習的地方。
-
3.學習總結(15分)
-
3.1 學習進度條
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點 | 簡介目前比較迷惑的問題 |
---|---|---|---|---|
10.14-10.17 | 20小時 | 85行 | 循環結構for,%的部分含義,sum的意義 | item的具體使用方面,相關含義 |
-
3.2 累積代碼行和博客字數
-
3.3 學習內容總結和感悟
-
3.3.1 學習內容總結
整理本周學習的主要知識點有:
- (1) 循環結構for,特別是改錯題for語句的相關問題,如for語句中空格只有=才空,其它% &都不需要。
只能使用 英文的分號,不能用中文的逗號。還有累加器sum的相關理解。 - (2)自學有關於%的部分含義
%d是用來輸出十進制整型數據的實際長度輸出
%c是以字符形式輸出,只輸出一個字符
%f是以小數形式輸出單、雙精度度數,隱含輸出6位小數(如具體:%f代表單精度浮點型數據(float),%lf代表雙精度浮點型數據(double)。
有效數字位數不同
單精度浮點數有效數字保證6位,部分7位,雙精度浮點數有效數字保證15位,部分16位。)
-
3.3.2 學習體會
-
(1)通過從開學到現在的學習,個人覺的上機課的時候,通過當場《C語言設計與實驗》改錯和同學們一起交流學到的東西是最多,互相交流自己經常犯的錯誤,讓彼此都可以記住這個教訓。
(2)對於item的含義,具體使用在哪方面,通過查詢百度還未理解其具體使用。現場打字太慢,以至於上機課時未能按時提交作業,成為致命弱點。想向彭老師請教有關於提高打字速度的好建議。
(3)希望老師可以推薦幾個對於初學者能自學C語言的官方網站或者是通過教學視頻讓大家更了解C語言。
(4)對於循環結構for的新發現,能夠理解其運行的具體步驟如for括號里頭填分號要格外注意。