1.作業頭
| 這個作業屬於哪個課程 | https://edu.cnblogs.com/campus/zswxy/SE2020-2 |
|---|---|
| 這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11627 |
| 這個作業的目標 | 熟悉break、continue的使用以及使用循環的嵌套解決問題 |
| 學號 | 20209121 |
一、本周教學內容&目標
第3章 分支結構 3.1-3.2 使學生熟悉多分支結構、字符型數據類型和邏輯運算符。
二、本周作業頭
| 這個作業屬於那個課程 | C語言程序設計II |
|---|---|
| 這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11627 |
| 我在這個課程的目標是 | 熟用C語言 |
| 這個作業在那個具體方面幫助我實現目標 | 熟悉break、continue的使用以及使用循環的嵌套解決問題 |
| 參考文獻 | <C語言程序設計> |
三、本周作業
PTA實驗作業
代碼互評
學習總結
四、作業格式
1.PTA實驗作業(20分/題)
從PTA題目集中選出2個你最滿意的題目完成以下內容,選擇題目難度越大,分值越高,每題20分(每項5分)
請再此處列出自己的排名圖片,如:

1.1 題目名1 幸運彩票
內容描述:彩票的號碼有 6 位數字,若一張彩票的前 3 位上的數之和等於后 3 位上的數之和,則稱這張彩票是幸運的。本題就請你判斷給定的彩票是不是幸運的。輸入在第一行中給出一個正整數 N(≤ 100)。隨后 N 行,每行給出一張彩票的 6 位數字。
1.1.1數據處理
數據表達:定義了整型變量a,b,c,d,e,f,x,y,n,i,j,m,a,b,c,d,e,f是對m取余后得到的數,m是輸入的一個彩票號碼,x,y是前三個數字之和與后三個數字之和,i控制循環,n是輸入的一個正整數。
數據處理:表達式:a=m%10;b=m%10;c=m%10;d=m%10;e=m%10;f=m%10;m/=10;i=1;i<=n;i++,x==y,流程結構用了for循環語句和一個if-else語句。
1.1.2實驗代碼截圖


1.1.3 造測試數據
按照以下表格,輸出你的程序面向各種測試數據結果,除了題目給出的測試數據,可以自己再造其他臨界數據,越多越好,並加上必要說明
| 數值 | 結果 | 說明 |
|---|---|---|
| 2 233008 123456 | You are lucky! Wish you good luck. | 第一個是幸運數字,第二個不是 |
| 3 234567 345678 567890 | Wish you good luck. Wish you good luck. Wish you good luck. | 都不是幸運數字 |
| 2 654321 567890 | Wish you good luck. You are lucky! | 第二個是幸運數字,第一個不是 |
1.1.4 PTA提交列表及說明

·答案錯誤:scanf ("%6d",&m);放在了for循環外面,應該放在里面,放入即可 。
·答案錯誤:if括號里應是x==y,打成了x=y,改掉即可。
·答案錯誤:輸出中沒有回車\n,打上即可。
·答案錯誤:在for循環中放入了scanf ("%6d",&m); 但外面的scanf ("%6d",&m); 沒有刪去,刪去即可。
1.2 題目2 一錢生多錢
在日常生活中,我們常常需要將一些大額的人民幣換算成零錢,已知我們有許多面值5元,2元和1元的人民幣。
編程實現:輸入我們需要兌換的金錢數,然后我們用這些面值5元,2元和1元的人民幣來兌換,要求每一種面值都至少有1張,然后輸出有多少種兌換方式。輸入在一行中給出待換的零錢數額(大於等於8小於等於100),每行輸出一種兌換方式,按照如下格式輸出(並且每一種面值的人民幣都是從小到大輸出):
five=五元數量,two=兩元數量,one=一元數量
1.2.1 數據處理
數據表達:用了整型變量啊a,b,c,n,n表示輸入的一個整數,a,b,c控制for的三重循環。
數據處理:表達式:a=1;a<=20;a++,b=1;b<=50;b++,c=1;c<=100;c++,a*5+b*2+c*1==n,流程結構:三重for循環以及一個if語句。
1.2.2 實驗代碼截圖

1.2.3 造測試數據
| 數值 | 結果 | 說明 |
|---|---|---|
| 13 | ![]() |
有四種兌換方式 |
| 12 | ![]() |
有三種兌換方式 |
| 11 | ![]() |
有兩種兌換方式 |
1.2.4 PTA提交列表及說明

·編譯錯誤:if后應打成a5+b2+c1==n,打成了a5+b2+c1=n,改正即可。
·部分正確:輸出中沒有打上\n,打上即可。
·運行超時:循環的次數被我設置成了10000,循環出現了錯誤,改正即可。
2.代碼互評(5分)
同學代碼截圖

自己代碼截圖

1.第一份代碼用了for循環,while語句,if語句以及switch語句,而第二份代碼雙重for循環嵌套以及if-else語句。
2.第一份代碼用了getchar(),第二份代碼沒有。
3.第一份代碼用了switch語句先確定后輸出,第二份代碼直接輸出。
4.第一份代碼用了if語句先確定b為T,再用switch選擇不同的數,而第二份代碼是將兩個放在一起弄。
同學代碼截圖

自己代碼截圖


1.第一份代碼直接用了六個整型變量,而第二份代碼用了一個整型變量m,再取余算出每個數字。
2.第一份代碼用了for循環語句和else-if語句,第二份代碼則是用了for循環語句和if-else語句。
3.第一份代碼在if后的括號里將前三個數相加與后三個數相加來判斷,第二份代碼則是先將用大量的算式將m取余后算出來再相加,繼而再判斷。
3.學習總結(15分)
3.1 學習進度條(5分)
| 周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
|---|---|---|---|---|
| 第八周 | 12h | 112 | 在屏幕上輸出一些語句或字符組成的圖形 | 無比較迷惑的問題 |
| 第九周 | 12h | 286 | if-else語句 | 計算的算式有些運算符號用的不好 |
| 第十周 | 15h | 423 | for循環語句 | 一些變量不能夠准確地定義,導致弄算式時輸出的答案是錯的 |
| 第十一周 | 15h | 536 | 調用並自定義函數 | 自定義函數時搞不清變量類型 |
| 第十二周 | 17h | 543 | 熟悉多分支結構、字符型數據類型和邏輯運算符 | 分支結構弄不清優先級 |
| 第十三周 | 18h | 591 | 熟悉多分支結構switch語句的使用 | switch后的表達式與case常量表達式的關系 |
| 第十四周 | 22h | 638 | 熟悉使用while和do-while結構解決問題 | while后的條件常常不明白是限制條件還是允許繼續循環條件 |
| 第十五周 | 20h | 無 | 無 | 無 |
| 第十六周 | 18h | 623 | 熟悉break、continue的使用以及使用循環的嵌套解決問題 | 循環的嵌套有的時候弄不清運算的流程 |
3.2 累積代碼行和博客字數(5分)

3.3 學習內容總結和感悟(5分)
3.3.1 學習內容總結




