c語言------第一次作業,分支,順序結構
1.1思維導圖
1.2 本章學習體會及代碼量學習體會
1.2.1 學習體會
一星期下來,接觸了順序結構和分支結構,雖然這些東西在暑假都已經自學完了,但是畢竟有點久了,有些細節問題,比如switch-case語句要用花括號,我現在就有點不記得了。再次看書之后,就又重拾知識點,記憶更深刻。假期、周末是很好的學習時間,我會好好利用,畢竟,在老師講授新知識之前,自己先去學,練習代碼,聽課的時候自然就輕松很多,做起作業來也會事倍功半。對目前老師的教學吧,希望可以稍微快一點,前面知識點比較容易,可以適當加快進度,在后面數組、指針等更難的問題上,可以花更多時間來練習。
1.2.2 代碼累計
2.PTA中順序結構、分支結構的排名得分及總分
2.1PTA中順序結構、分支結構的排名得分
2.2 我的總分:
順序結構:100
分支結構:125
總分:225
3.PTA實驗作業
3.1 PTA題目1
IT協會舉辦程序設計競賽,准備購買U盤作獎品。請編寫程序,根據活動經費和U盤單價預估可購買U盤的最大數量。
3.1.1 算法分析
1.定義活動經費outlay,U盤單價price,可以買的U盤總數quantity。
2.U盤總數quantity=活動經費outlay/U盤單價price的整數部分。
3.1.2 代碼截圖
3.1.3 測試數據
3.1.4 PTA提交列表及說明
Q1:不知道double問題,使計算結果出現誤差
A1:在數量quantity后面加上0.001,由此消除浮點誤差
3.2 PTA題目2
輸入三個整數x,y,z,請把這三個數由小到大輸出。
3.2.1 算法分析
1.定義三個整數x,y,z。
2.分情況討論三個數大小。
3.將最大值給z,最小值給x,中間值給y。
4.三個數按重新賦值后x,y,z順序輸出。
3.2.2 代碼
代碼1
代碼2
3.2.3 測試數據
3.2.4 PTA提交列表及說明
Q1:提交出現段錯誤
A1:忘記在scanf里面加上取地址符&,使得后面無法識別變量
Q2:第一個代碼太繁瑣,如果比較的數多的話,要分很多種情況
A2:改進后代碼如2,只要比三次,依次比較將最大值放入z中,最小值放入x中
3.3 PTA題目3
編寫一個程序,要求用戶輸入24小時制的時間,然后顯示12小時制的時間。
3.3.1 算法分析
1.輸入小時hour,分鍾minute。
2.如果0<=hour<12,那么時間為上午,直接將時間輸出,並且加上AM.
3.如果hour=12,那么時間是下午,時間也是直接輸出,但是后面改為PM.
4.如果hour<24,那么時間是下午,小時變成hour-12,其他不變,后面加上PM輸出
3.3.2 代碼
代碼1
代碼2
3.3.3 測試數據
3.3.3 PTA提交列表及說明
Q1:十二點多的情況,小時減后變成了0.
A1:將十二點多的情況單獨列出來寫個條件句即可。
Q2:分支條件過多,看起來繁瑣。
A2:在助教的建議下,可以將0點的情況合並到上午,直接將hour>0變成hour>=0,加個等號即可。