1.作業頭
這個作業屬於哪個課程 | https://edu.cnblogs.com/campus/zswxy/SE2020-2 |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11527 |
這個作業的目標 | <熟練掌握多分支結構的使用,還有學會多思考> |
學號 | <20209130> |
一、本周教學內容&目標
第3章 分支結構 3.1-3.2 使學生熟悉多分支結構、字符型數據類型和邏輯運算符。
二、本周作業頭
這個作業屬於哪個課程 | C語言程序設計II |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11527 |
我在這個課程的目標是 | <熟練掌握C語言編程,完全搞定C語言> |
這個作業在哪個具體方面幫助我實現目標 | <在掌握分支結構、字符型數據類型和邏輯運算符的使用方面> |
參考文獻 | https://www.cnblogs.com/loveyourself/p/14000772.html https://www.cnblogs.com/vatij/p/14006928.html (注:這是我取材地,非常感謝兩位同學!!!) |
三、本周作業
1.PTA實驗作業
2.代碼互評
3.學習總結
四、作業格式
1.PTA實驗作業(20分/題)
1.1 7-2 C程序設計 實驗2-3-1 (20分)
身高預測。
每個父母都關心自己孩子成人后的身高,據有關生理衛生知識與數理統計分析表明,影響小孩成人后的身高的因素包括遺傳、飲食習慣與體育鍛煉等。小孩成人后的身高與其父母的身高和自身的性別密切相關。
設 faHeight為父親的身高,moHeight為母親的身高,身高預測公式為: 男性成人時身高=( faHeight+moHeight)×0.54 女性成人時身高=( faHeight×0.923+ moHeight)/2cm 此外,如果喜愛體育鍛煉,那么身高可增加2%;如果有良好的衛生飲食習慣,那么身高可增加1.5%。
試編程從鍵盤輸入用戶的性別(用字符型變量sex存儲,輸入字符F或f表示女性,輸入字符M或m表示男性)、父母身高(用實型變量存儲,faHeight為父親的身高,moHeight為母親的身高)、是否喜愛體育鍛煉(用字符型變量 sports存儲,輸入字符Y或y表示喜愛,輸入字符N或n表示不喜愛)、是否有良好的飲食習慣(用字符型變量diet存儲,輸入字符Y或y表示良好,輸人字符N或n表示不好)等條件,利用給定公式和身高預測方法對身高進行預測。
1.1.1數據處理
數據表達:用了faHeight,moHeight,x,y,sex,sports,diet這些變量,其中faHeight,moHeight,x,y是雙精度浮點型,sex,sports,diet是字符型。
faHeight,moHeight,sex,sports,diet的值是自然輸入得來,而x,y則是多個分支結構判斷運算得來。
數據處理:表達式:y=(faHeight*0.923+moHeight)/2; y=((faHeight*0.923+moHeight)/2)*1.015; y=((faHeight*0.923+moHeight)/2)*1.02; y=((faHeight*0.923+moHeight)/2)*1.035;
x=(faHeight+moHeight)*0.54; x=((faHeight+moHeight)*0.54)*1.015; x=((faHeight+moHeight)*0.54)*1.02; x=((faHeight+moHeight)*0.54)*1.035;
流程結構:運用了else-if分支結構。
1.1.2實驗代碼截圖
1.1.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
F 175 165 N N | 163.3cm | 小於167.5cm |
f 160 170 n n | 158.8cm | 小於167.5cm,女生身高受父親影響較大 |
f 175 165 y y | 169.0cm | 大於167.5cm,女生身高受鍛煉和飲食影響較大 |
m 170 170 n n | 183.6cm | 大於167.5cm |
m 180 160 n n | 183.6cm | 大於167.5cm,男生身高受父親影響與母親相同 |
m 170 170 y y | 190.0cm | 大於167.5cm,男生身高受鍛煉和飲食影響較大 |
1.1.4 PTA提交列表及說明
提交列表說明:
1.答案錯誤:一開始男孩和女孩只用了大寫字母代表,沒有用邏輯符“||”來包括小寫字母,之后我用“||”把小寫字母也囊括了進去。
2.答案錯誤:最后輸出時小數點未保留,導致答案為整數,與答案有一位小數不符,之后仔細檢查發現此錯誤,把%.0f改為了%.1f。
3.答案錯誤:答案中有單位“cm”而我一開始忽略了這個單位導致答案錯誤,之后在輸出語句中把%.1f改為了%.1fcm。
1.2 7-3 有多少位是7? (40分)
從鍵盤讀入一個4位數的整數,求該數中有多少位是7。
1.2.1 數據處理
數據表達:用了變量n,i,都是整型變量,n的值是自然輸入得來,i的值是隨每一個判斷而疊加而來。
數據處理:表達式:i++;
流程結構:用了if分支結構。
1.2.2 實驗代碼截圖
1.2.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
7777 | 4 | 四個數全是7 |
7577 | 3 | 其中三個數是7 |
7986 | 1 | 有幾個7則會輸出幾 |
1.2.4 PTA提交列表及說明
提交列表說明:
1.部分正確:表達式與if判斷語句有誤,其中未用“%”取余,之后加上如:n/10%10。
2.部分正確:使用了else-if語句,導致i的疊加只進行了一次,因進行了一次疊加,所以其中一個變量答案正確,形成部分正確,之后發現不行后換用if分支結構來寫。
3.部分正確:把printf輸出語句放入了分支結構里,導致判斷一次進行一次輸出,所以輸出了一個答案是正確的,其余錯誤,形成了部分錯誤,之后把printf語句放在分支結構外正確。
2.代碼互評(5分)
同學代碼截圖:
自己代碼截圖:
1.使用的數據類型不同。同學學以致用習慣使用字符型,而我還沒轉變過來,還是習慣使用之前的數據類型。
2.對變量賦值與不賦值的習慣不同。我習慣在變量變化前先賦值如:i=0;而同學習慣不賦值使用變量,如:sum一開始就沒有賦值。
同學代碼截圖:
自己代碼截圖:
1.對基本語句的使用習慣不同。我習慣使用一個語句搞定一切,而同學則靈活運用,使用了if語句還使用了else-if語句。
2.對表達式的使用不同。我習慣每一個變量使用一個表達式,即使重復也再打一遍,而同學則更簡便,習慣使用變量代替。
3.學習總結(15分)
3.1 學習進度條(5分)
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
第八周 | 20h | 400 | 什么是主函數;代碼的儲存單元;會打“hello world” | 無 |
第九周 | 24h | 450 | 三個程序結構;各種數據類型;if-else語句的使用 | 無 |
第十周 | 28h | 500 | 三個運算的優先級;for循環語句的使用;會輸出轉換表 | for循環的嵌套有些不會 |
第十一周 | 30h | 600 | 進一步熟悉for循環語句;調用數學函數;自己定義函數 | 自己定義函數不太熟練 |
第十二周 | 28h | 580 | 更進一步學習了多種分支結構的使用;學會了邏輯控制符;學會了else-if語句; | 對多種分支結構的使用不太熟練,無法靈活使用 |
3.2 累積代碼行和博客字數(5分)
3.3 學習內容總結和感悟(5分)
3.3.1 學習內容總結
3.3.2 學習體會
1.這周是真的開始向C語言更深處進發了,我們這周更深入的學了分支結構,感覺我們之前學的分支結構和現在的進階版比簡直不要太簡單,所以是真的開始難了,我們要更加努力的去學,不要被其他同學落下。
2.這周作業到是感覺沒有那么恐怖了,感覺不難寫了,就是時間要的久些,看來我已經開始適應了,也是,學長學姐在琛姐手底下還不是過來了,我也可以堅持下去的!!
3.再對代碼的體會,感覺打代碼越來越熟練,而且現在打代碼有了很多自己的想法,不是局限在書本里的模板里,而開始自己慢慢去寫出自己構思的代碼了。
4.這周對代碼的訓練還是可以的,但是美中不足的就是比上周打的代碼量沒有增加,也是,代碼量再多沒質量也是沒有效果,我打代碼的質量還是有所提升的,值得鼓勵自己,但還是不能松懈。
5.上周對代碼的思考不盡人意,這周還是有所提升的,因為我終於開始在打代碼之前腦海里有代碼的一些雛形了,這應該就是思考過后的收獲吧。
6.這周總的來說還行,但感覺好像沒有上周提升的多,可能是因為上周不足的地方多一些吧,但還有可能是有所松懈,這點一定要扼殺在搖籃里,不能松懈,因為有了第一次松懈,難免會再次松懈的可能,下周繼續加油,繼續沖!!!