1.作業頭
| 這個作業屬於哪個課程 | https://edu.cnblogs.com/campus/zswxy/SE2020-3 |
|---|---|
| 這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-3/homework/11586 |
| 這個作業的目標 | 熟練掌握while和do while循環結構 充分認識到自己不足之處 |
| 學號 | 20209181 |
1.1題目1
7-6 購物(二) (25分)
用戶購買了若干個商品(商品數不超過10),現在,他告訴你每件商品的價格,你計算出這些商品的平均價格。
輸入格式:
若干個以空格間隔的實數(每個數不超過100000),以-1作為輸入結束的標志。
輸出格式:
一個實數,表示商品的平均價格,精確到小數點后兩位。
輸入樣例:
890.78 2769.8 12300 3532.2 -1
輸出樣例:
4873.19
1.1.1數據處理
數據表達:本題運用了sum,n,result,a等變量,通過題目自定義而來,類型為整型。
數據處理:表達式有sum++,result=result+n,a=result/sum,流程結構為while語句。
while (n!=-1){
sum++;
result=result+n;
scanf ("%lf ",&n);
}
a=result/sum;
1.1.2實驗代碼截圖

1.1.3造測試數據
| 輸入樣例 | 890.78 2769.8 12300 3532.2 -1 | 235.2 634.32 980 56 -1 | 3690 658.36 423 99 -1 |
|---|---|---|---|
| 輸出樣例 | 4873.19 | 476.38 | 1217.59 |
1.1.4 PTA提交列表及說明

部分正確:題目所給的極端值,我並沒有考慮到,導致有部分未正確,經過多次改變,才正確。
1.2題目2
7-5 找出一批學生的最高分 (15分)
本題要求編寫程序,找出最高分。
輸入格式:
輸入在一行中給出一系列非負整數,其間以空格分隔。當讀到負整數時,表示輸入結束,該數字不要處理。
輸出格式:
在一行中輸出最高分。
輸入樣例:
在這里給出一組輸入。例如:
67 88 73 54 0 95 60 -1
輸出樣例:
在這里給出相應的輸出。例如:
95
1.2.1數據處理
數據表達:本題變量為n,N,sum通過題目自定義而來,類型為整型。
數據處理:表達式為sum=n,sum=N,sum=n,流程結構為while 和if else語句。
while (n>=0){
if (n>N){
sum=n;
}
else if (n<N) {sum=N;
}
sum=n;
1.2.2實驗代碼截圖

1.2.3造測試數據
| 輸入數據 | 67 88 73 54 0 95 60 -1 | 63 98 0 23 68 32 98 -1 | 65 91 32 84 63 87 0 -1 |
|---|---|---|---|
| 輸出數據 | 95 | 98 | 0 |
1.2.4PTA提交列表及說明

我並不是一次就正確,在運行測試的時候出錯了幾次,出錯原因是在於我不知道最高值具體怎么表示,后來看了會書才知道。
2.代碼互評
同學代碼截圖


自己代碼截圖


不同之處:
1.題目1我是先寫好算數再輸出,而同學的是直接輸出,這樣效率高但是不免容易出錯。
2.第二個題目我寫了兩個if而同學和題目一差不多直接輸出,思路很清晰,節省了時間,如果出出錯了找錯誤也很快。
3.總之我比同學寫的代碼繁瑣很多,做題速度慢很多。
3.學習總結
3.1學習進度條
| 周/日期 | 學習時間 | 代碼行數 | 知識點 | 不足之處 |
|---|---|---|---|---|
| 第七周 | 23個小時 | 756 | 學習了新的循環語句while和do while | 在分情況討論的時候往往會忽略條件,達不到題目要求,邏輯思維能力還不行 |
3.2累積代碼行和博客字數

3.3學習內容總結和感悟
3.3.1學習內容總結

3.3.2學習體會
1.本周的學習在原先的基礎之上又更加一步,但是這次遇到的那個PTA作業我個人覺得好難,又幾個題目真心不太會,寫的時候沒思路,一個題目做幾個小時還是做不對。
2.這次深刻體會到當一個程序員不容易,革命尚未成功,前方滿是荊棘,還要加油。
3.在寫題目的時候,應該要對題目認真分析后再動手,不然只會浪費時間和精力。
4.要是老師能夠在分析題目的時候慢點就好了,不然還沒反應過來就無了。
