C語言I博客作業08


這個作業屬於哪個課程 c語言程序設計
這個作業要求在哪里 作業要求
這個作業的目標 熟悉break、continue的使用 4.4 熟悉使用循環的嵌套解決問題
學號 <20208998>

一、PTA實驗作業。(20分/題)

1.1 題目名1:打印九九口訣表。

題目描述:

1.1.1數據處理。

數據表達:用了i,j,N這些變量;N通過用戶輸入得來; i,j,N都是整型變量。
數據處理:表達式有j*i;運用了循環嵌套。

1.1.2實驗代碼截圖。

1.1.3 造測試數據。

輸入數據 輸出數據 說明
4 1x1=1\ 1x2=2 2x2=4\ 1x3=3 2x3=6 3x3=9\ 1x4=4 2x4=8 3x4=12 4x4=16 打出四行以內的口訣表
5 1x1=1\ 1x2=2 2x2=4\ 1x3=3 2x3=6 3x3=9\ 1x4=4 2x4=8 3x4=12 4x4=16\ 1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 打印五行以內的口訣表
2 1x1=1\ 1x2=2 2x2=4 打出兩行以內的口訣表

1.1.4 PTA提交列表及說明。

部分正確:沒有按題目要求等號右邊對其四位。
編譯錯誤:在循環嵌套的時候把內循環的大括號弄掉了,后面通過dev編譯查得。
編譯錯誤:輸出的公式符號沒有和后面的變量相對應。

1.2 題目2:幸運彩票。

題目描述:

1.2.1 數據處理。

數據表達:用了N,i,a,b,c,b1,c1,sum1,sum2這些變量;a通過用戶賦值得來,i是循環數據,
         b,c分別是整個數的后三位與前三位,sum1,sum2分別是求和結果;都是整型。
數據處理:用了b=a%1000,c=a/1000,b1=b%10,sum1=sum1+b1,c1=c%10,c=c/10,sum2=sum2+c1,b=b/10;使用了循環嵌套。

1.2.2 實驗代碼截圖。

1.2.3 造測試數據。

輸入數據 輸出數據 說明
2/233008/123456 You are lucky!/Wish you good luck. 第一個前三位和等於后三位和,是幸運的,第二個不是幸運彩票。
1/222222 You are lucky! 這個數是幸運彩票。
4/123123/222331/567765/667766 You are lucky!/Wish you good luck./You are lucky!/You are lucky! 只有第二個不是幸運彩票,其他三個數都是。

1.2.4 PTA提交列表及說明。

格式錯誤:輸出的答案沒有換行 ,在PTA測試區測試對比得知。
答案錯誤:一開始得到的測試用例的答案正確,但提交卻答案錯誤說明其他數據輸入得到的答案不對,
         后面去dev輸入一組數據調試過程中發現幸運數據組后的求和sum1與sum2沒有歸零,導致錯誤。

二、代碼互評。(5分)

同學代碼:


自己代碼:

相比較我的缺點:一眼就可以看出我的代碼比較長,可能是我自己有可以省略的地方也加上去了。
其優點:第二個同學將六位的數直接拆分為六個數,再判斷前三位與后三位是否相等,
       沒了我的那么復雜,也不需要我的后面那部分求和結果歸零化,這位同學特別有想法。
其優點:第一個同學跟我想法差不多,但他那結果歸零化直接放在第一個循環下面,而我放在了末尾,導致代碼長度加長了,這位同學的代碼很值得學習。

三、學習總結。(15分)

3.1 學習進度條。(5分)

周/日期 這周所花的時間 學到的知識 目前不懂的問題
第八周 7h 總結各類符號,語句,表達式,變量等 語句符號會混用
第九周 9h 分支結構雛形 會漏掉輸出語句
第十周 9h 循環結構雛形 表達式不太會寫
第十一周 8h 調用函數 不知道怎么去調用函數
第十二周 13h 分支結構,字符型數字類型,邏輯運算符 多分支時不知如何分
第十三周 8h switch語句 不知道怎樣區分switch語句與if-else語句
第十四周 14h while語句 有時候用while循環與經常會出現運行超時的情況,並且也不太會改
第十五周 20h break,continue語句,循環嵌套 break與continue具體區分

3.2 累積代碼行和博客字數。(5分)

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

3.3.1 學習內容總結。

關於跳出多重循環的問題:

1.最快的方法是使用goto,可以快速跳出多重循環,但建議少使用goto語句。
2.可以寫成函數return,但函數參數傳遞很麻煩。
3.直接修改外層循環條件,當最內層得到不符合外層條件的數直接跳出循環。
4.在大循環后面判斷標志加入break。

3.3.2 學習體會。

1.本周學習了break與continue兩個語句以及循環嵌套,兩個語句都有其各自的適用性,break用於跳出本層循環,continue不執行后面的語句。
2.本周的循環嵌套在上周的PTA就用過,那時寫作業總是會出現運行超時的情況,這周深入的學習了嵌套,對於循環嵌套,需要仔細的寫每一步的代碼,因為你不知道什么時候就死循環了。
3.這次的PTA作業難度有點大,讓我感覺自身真是才學疏淺,很多問題都不知道如何解決,但總得找到解決的辦法才行,慢慢的請教同學,發現我們之間差距還是很大的。
4.代碼互評是個很好的題目,拿出自己的代碼與同學的相比較,會明顯發現自己的缺點和不足,也可以很好的學的自己不總的知識點 ,以及一些可以省略的部分。
5.調試是在做題的過程中很好的一個解決方案,當你不知道自己錯在哪,但就是錯了,這時候就需要調試過程了,調試過程觀察每一個變量的變化,很清晰的可以觀察的那部分不適用,也很快能找到解決方案,而不是固步自封的向同學求解,很多不懂的都必須自己去嘗試求解,直到自己實在不知道哪里錯了,向同學求解才是正道。
6.當在做題目實在沒思路時,可以看看同學的代碼,但不是照抄,而是理解同學的思路,再得到自己腦子的思路,再繼續把自己所想的代碼敲出來,這才是做題的正確方法。
7.在做每一個題目的時候都需要一定的過程,特別是在比較難的題時,想很久也沒有思路,我們不能急於求成,這題太難可以先放一邊,讓自己的腦海捋一捋,說不定,在某個時刻就有了思路。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM