這個作業屬於哪個課程 | C語言程序設計II |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11626 |
我在這個課程的目標是 | 熟練掌握break語句,continue語句和嵌套循環 |
這個作業在哪個具體方面幫助我實現目標 | 實踐方面:通過PTA作業來練習,加強自己能力 |
參考文獻 | c語言程序設計,百度,C Primer Plus |
1.PTA實驗作業(20分/題)
1.1 題目名:
7-5 幸運彩票 (15分)
彩票的號碼有 6 位數字,若一張彩票的前 3 位上的數之和等於后 3 位上的數之和,則稱這張彩票是幸運的。本題就請你判斷給定的彩票是不是幸運的。
1.1.1數據處理:
數據處理:定義變量:n,x,i,y,a,b,c,d,e,f;所以變量均為整數型,其中x,y通過賦值來定義,其它均通過輸出。
表達式;for(i=1;i<=n;i++) scanf("%1d%1d%1d%1d%1d%1d",&a,&b,&c,&d,&e,&f);
流程結構:循環結構,順序結構,分支結構。x = a + b + c;y = d + e + f;
偽代碼:
1:Input (n)
2:對x,y進行初始化
3:for(i=1;i<=n;i++)
4:用for循環,結束條件i<=n.
5:Output (You are lucky! Wish you good luck.)
6:End
1.1.2實驗代碼截圖:
1.1.3 造測試數據:
1.1.4 PTA提交列表及說明:
提交列表說明:開始想運用一個變量來表示六位數的數,但結果是自己將其前三位數和與后三位數和得到的方法不對,導致前三位和與后三位和求錯,導致一直答案錯誤。
解決方法:后面思考的時候發現可以用六個變量來表示六位數的數,一個變量代表一位數,於是便輕松的解決了該問題。
1.2 題目名:
7-4 一錢生多錢 (10分)
在日常生活中,我們常常需要將一些大額的人民幣換算成零錢,已知我們有許多面值5元,2元和1元的人民幣。
編程實現:輸入我們需要兌換的金錢數,然后我們用這些面值5元,2元和1元的人民幣來兌換,要求每一種面值都至少有1張,然后輸出有多少種兌換方式。
1.2.1 數據處理:
數據處理:變量:x,a,b,c,均為整數型,其中x通過輸入,a通過起初賦值與累加,b,c通過計算等式由a的值決定。
表達式;for (a = 1; a <= x;a++),printf("five=%d,two=%d,one=%d\n", a, b, c);if(5a+2b+1*c==x),scanf("%d",&x);
流程結構:循環結構,順序結構,分支結構。
偽代碼:
1:Input (x)
2:for (a = 1; a <= x;a++) for (b = 1; b <= x - 5 * a;b++) for (c = 1; c <= x - (5 * a + 2 * b);c++)
3:用for循環,其中三個for循環的結束條件分別為a<=x,b <= x - 5 * a,c <= x - (5 * a + 2 * b)
4:Output (five=%d,two=%d,one=%d)
5:End
1.2.2 實驗代碼截圖:
1.2.3 造測試數據:
1.2.4 PTA提交列表及說明:
提交列表說明:for循環未做和好,導致循環運行時只出現部分正確答案。
解決方法:重做循環,回顧老師上課講的例題的那種與之相關的,通過例題寫出了最合適的嵌套循環。
2.代碼互評(5分)
同學代碼截圖:
同學截圖1:
同學的截圖2:
自己代碼截圖:
對應1的截圖:
對應2的截圖:
不同之處:
第一個截圖:我的運用了參數,看起來更加復雜難懂,而她只運用了for循環和if-else選擇語句,比我的更加簡便。
第二個截圖:她定義的變量比我少,比我的更加簡潔,但我的變量定義的多了,觀看起來也更容易讓人理解。
3.學習總結(15分)
3.1 學習進度條(5分)
3.2 累積代碼行和博客字數(5分)
3.3 學習內容總結和感悟(5分)
3.3.1 學習內容總結:
3.3.2 學習體會:
這周的作業量相對來說比之前的都多了很多,PTA還出現了選擇題和填空題,不過時間上面也相對的多給了我們一天,題目多了對自己的考驗強了,同樣自身能力也鍛煉的更強了。