| 這個作業屬於哪個課程 | C語言程序設計II |
|---|---|
| 這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-4/homework/11587 |
| 我在這個課程的目標是 | 熟悉使用while和do-while結構解決問題 |
| 學號 | 20209194 |
1.PTA實驗作業
我的排名:

1.1 題目名1
7-4 猜數字游戲
猜數字游戲是令游戲機隨機產生一個100以內的正整數,用戶輸入一個數對其進行猜測,需要你編寫程序自動對其與隨機產生的被猜數進行比較,並提示大了(“Too big”),還是小了(“Too small”),相等表示猜到了。如果猜到,則結束程序。程序還要求統計猜的次數,如果1次猜出該數,提示“Bingo!”;如果3次以內猜到該數,則提示“Lucky You!”;如果超過3次但是在N(>3)次以內(包括第N次)猜到該數,則提示“Good Guess!”;如果超過N次都沒有猜到,則提示“Game Over”,並結束程序。如果在到達N次之前,用戶輸入了一個負數,也輸出“Game Over”,並結束程序。
輸入格式:
輸入第一行中給出兩個不超過100的正整數,分別是游戲機產生的隨機數、以及猜測的最大次數N。最后每行給出一個用戶的輸入,直到出現負數為止。
輸出格式:
在一行中輸出每次猜測相應的結果,直到輸出猜對的結果或“Game Over”則結束。
1.1.1數據處理
數據表達:用了number,N,Guess,count這些變量,number,N,Guess這些變量的值是由手動輸入,類型是整型。
數據處理:if-else語句穿插while語句
if(N >= 3){
while(count <= N+1){
scanf("%d",&Guess);
if(Guess < 0){
printf("Game Over\n");
return 0;
}
else if(Guess > number){
printf("Too big\n");
count++;
}
else if(Guess < number){
printf("Too small\n");
count++;
}
else if(Guess == number&&count == 1){
printf("Bingo!\n");
return 0;
}
else if(Guess == number&&count <= 3){
printf("Lucky You!\n");
return 0;
}
else if(Guess == number&&count > 3&&count <= N){
printf("Good Guess!\n");
return 0;
}
else if(count >= N){
printf("Game Over\n");
return 0;
}
}
}
1.1.2實驗代碼截圖

1.1.3 造測試數據
| 輸入數據 | 輸出數據 | 說明 |
|---|---|---|
| 90 4 20 | Too small | 猜的數字小了 |
| 99 | Too big | 猜的數字大了 |
| 90 | Lucky You! | 3次以內猜到該數 |
| -2 | 游戲已結束 |
1.1.4 PTA提交列表及說明

部分正確:第30條代碼掉了count <= N這一句導致答案部分正確、
1.2 題目名2
7-5 找出一批學生的最高分
本題要求編寫程序,找出最高分。
輸入格式:
輸入在一行中給出一系列非負整數,其間以空格分隔。當讀到負整數時,表示輸入結束,該數字不要處理。
輸出格式:
在一行中輸出最高分。
1.2.1 數據處理
數據表達:用了number,tallest這些變量,number,tallest這些變量的值是由手動輸入,類型是整型。
數據處理:while語句中夾着if語句
while(tallest >= 0){
scanf("%d",&number);
if(number < 0){
break;
}
if(tallest <= number){
tallest = number;
}
}
1.2.2 實驗代碼截圖

1.2.3 造測試數據
| 輸入數據 | 輸出數據 | 說明 |
|---|---|---|
| 88 73 54 20 -1 | 88 | 88是這一行的最高分 |
| 55 20 88 90 98 -8 | 98 | 98是這一行的最高分 |
| 100 100 99 95 30 -5 | 100 | 100是這一行的最高分 |
| 22 50 68 72 0 -3 | 72 | 72是這一行的最高分 |
1.2.4 PTA提交列表及說明

答案錯誤 :第8行while后面接的條件一直不清楚,試了很多遍答案才正確、
2.代碼互評
同學代碼截圖


自己代碼截圖

1魏佳鑫同學的代碼有一半我看得懂,有一半我看不懂,反正我這水平也難以看懂。不過她用的語句都很巧妙,很棒
2尹國強同學的代碼可能有點小的錯誤
3.我自己的代碼也就那樣吧,盡力就好
3.學習總結
3.1 學習進度條
| 周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
|---|---|---|---|---|
| 第三周 | 四天 | 129 | for循環結構 | C語言運用的不熟練,博文編寫的時候很多功能不會,而且用的是Markdown,和TinyMCE不同,Markdown有很多東西都沒有,對我來說不是那么的方便 |
| 第四周 | 三天 | 135 | 自定義函數 | 打字還是不太熟練,太慢了,寫的代碼往往運行成功了自己卻不知道啥意思,是咋運行的,只知道拿着書了翻 |
| 第五周 | 三天 | 111 | 分支結構 | 老是需要翻書問別人,弱爆了,啥時候是個頭啊 |
| 第六周 | 三天 | 122 | switch語句 | 不是特別清楚switch到底啥情況下用,不能夠在題目一出現時就知道該用啥語句 |
| 第七周 | 三天 | 131 | while語句 | 對於while語句后面接的條件還是不太清楚 |
3.2 累積代碼行和博客字數

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

3.3.2 學習體會
怎么說呢,這周看起來學到了很多,課也自我感覺大概能聽懂,但是自己去做的時候就感覺課白聽了,完全忘了,腦子懵了已經,沒有書我真的是寸步難行,沒有了書我只會打得出主函數,真不知道以后咋辦。現在打字技術感覺還退步了。這周發生了太多的事了,心情確實不太好,又還感冒了。唉,這日子啥時候是個頭啊?
