作業頭:
這個作業屬於哪個課程 | https://edu.cnblogs.com/campus/zswxy/SE2020-2 |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11527 |
這個作業的目標 | <熟悉多分支結構、字符型數據類型和邏輯運算符> |
學號 | <20209135> |
一、本周作業頭:
這個作業屬於哪個課程 | <C語言程序設計II> |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2 |
我在這個課程的目標是 | <熟悉多分支結構、字符型數據類型和邏輯運算符> |
這個作業在那個具體方面幫助我實現目標 | <熟悉if判斷語句的使用,加強邏輯運算> |
參考文獻 | <無> |
1.PTA作業
排名圖片:
1.1
用if-else語句編程,根據輸入的百分制成績score(整數),轉換成相應的五分制成績grade后輸出。
當 90≤ score≤100時, grade=A ;
當80≤ score<90時,grade=B;
當70≤ score<80時, grade=C;
當60≤ score<70時,grade=D;
當0≤ score<60時,grade=E。
如果輸入成績 score<0或 score>100,則輸出“Input error!”。
1.1.1數據處理
數據表達:定義整形數據雙精度浮點型變量score作為分數;定義字符型變量grade來表示五分制的等級。
數據處理:輸入變量score的值,通過if進行判斷score是否在0~100的區間中;在的話,再通過if判斷score在五分制的哪個階段,最后就可以輸出grade的值;不在的話就得輸出“Input error!”。
1.1.2實驗代碼截圖
1.1.3造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
85 | B | score>=80;score<90 |
95 | A | score>=90 |
-100 | Input error! | score不在0~100中 |
1.1.4 PTA提交列表及說明
編譯錯誤:給grade比較時沒有給字符加上單引號;
部分錯誤:沒有把大於100和小於0的值表示出來;
部分錯誤:用||來表或者來連接score<0和score>100.
1.2
身高預測。
每個父母都關心自己孩子成人后的身高,據有關生理衛生知識與數理統計分析表明,影響小孩成人后的身高的因素包括遺傳、飲食習慣與體育鍛煉等。小孩成人后的身高與其父母的身高和自身的性別密切相關。
設 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表示不好)等條件,利用給定公式和身高預測方法對身高進行預測。
數據處理
數據表達:定義雙精度浮點型變量Height,moHeight,faHeight;Height表示孩子的預測高,moHeight表示母親的身高,faHeight表示父親的身高;
定義字符型變量sex,sports和diet;sex表示孩子的性別,sports表示是否常運動,diet表示是否正常飲食。
數據處理:輸入父母的身高,性別,是否運動和良好飲食的表示字符,先用if來判斷孩子性別進行計算,在判斷是否運動來判斷是否增加2%,再看飲食判斷是否再增加1.5%。
實驗代碼截圖
1.2.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
sex=f,faHeight=175,moHeight=165,sports=y,diet=y | 169.0cm | 小於180.0 cm |
sex=M,faHeight=175,moHeight=165,sports=y,diet=y | 190.1cm | 大於180.0 cm |
sex=f,faHeight=180,moHeight=170,sports=y,diet=n | 171.4cm | 小於180.0cm |
1.2.4 PTA提交列表及說明
1.編譯錯誤:在else后忘加if;
2.答案錯誤:1.忘記三個 變量的表示用小寫也可以;
2.在輸出答案時忘記加單位cm。
2.代碼互評
2.1
同學的代碼截圖:李莘樂
自己的代碼截圖:
1. | 都運用了if的判斷語句 |
---|---|
2. | 它調用了數學函數pow來表達身高的平方;而我則是直接用兩個變量相乘的到相同的結果 |
3. | 同樣定義了三個雙精度浮點型變量用來表示體重、身高和BMI |
2.2
同學的代碼截圖:劉鎧銘
自己的代碼截圖:
1. | 我們定義的變量相同,都是題目中給出來的; |
---|---|
2. | 他的代碼把score>100和score<0分開進行判斷,而我將二者放在了一起作為判斷條件,用“ |
3. | 他的代碼中if的判斷條件因為他把大於100和小於0的判斷條件分開放而更加繁瑣 |
3.學習總結
3.1學習進度條
周/日期 | 這周所花時間 | 代碼行 | 學到的知識簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
第八周10.19~1025 | 29小時 | 690 | printf顯示,hello world類型的代碼 | 無 |
第九周10.2~11.1 | 32小時 | 780 | if,else的使用,計算華氏溫度的轉化 | 運算規則 |
第十周11.2~11.8 | 33小時 | 780 | for的循環結構的使用,數學函數 | 數學計算 |
第十一周11.9~11.15 | 35小時 | 800 | 定義函數,調用函數 | 無 |
第十二周11.16~1122 | 37 | 860 | if /else的進一步學習 | 無 |
3.2累計代碼行和博客字數:
3.3學習內容總結和感悟:
3.3.1學習內容總結:
3.3.2 學習體會
1.又過了一周,我們可能會或多或少有所成長,我們這周進行了對分支結構的進一步學習;if /else搞得我們暈頭轉向的。
2.寫作業的過程中總會出現很多錯誤,if/else的語句中會有很多大括號,會不小心看錯,錯了還不知道錯在哪里,只能一遍又一遍重新碼過。
3.一遍又一遍的碼代碼讓我能更加熟練的掌握if/else的運用,感覺自己進步還是很大的。
4.我會有很多不懂的,很多要問,很多要學,感覺太難了。