1.本章學習總結
1.1思維導圖
本章學習體會及代碼量學習體會
1.2.1學習體會
在暑假的時候就有加入新生學習群,對C語言有一定的基礎,所以這周的學習相對輕松,但一些細節方面的知識並不是很了解。在這周的學習中,掌握了C語言程序設計中的一些規范,例如:在標識符的命名中應該采用駝峰命名法,並且對變量的命名要清晰易懂;在使用大括號的時候應該分行……在之前做分支結構的相關習題的時候多用的是if-else和else-if語句,對switch語句的掌握並不是很好,可以說是基本沒掌握,在預習完課本及老師的講解之后,加深了我對switch語句的理解,能夠更好的使用。還有許多是我之前自學時沒有很好掌握,在上課后有了更深層次了解的知識點,就不一一列舉了。老師上課時講的有一些課本之外的知識點,希望以后上課能學到更多初刻本之外的知識
1.2.2代碼累計
2.PTA總分
2.1截圖PTA中順序結構、分支結構的排名得分
2.2我的總分
順序結構:100
分支結構:125
總分:225
3.PTA實驗作業
3.1PTA題目1
C練習--第一章順序結構練習
7-8 買U盤: 根據活動經費和U盤單價預估可購買U盤的最大數量
3.1.1算法分析
1.定義活動經費money,U盤單價price、可購數量number;(其中money、price為雙精度浮點型變量,number為整型變量)
2.輸入money、price的值;
3.計算number的值;
4.輸出number的整數部分的值。
3.1.2代碼截圖
3.1.3測試數據
3.1.4PTA提交列表及說明
·Q1:一開始部分測試點沒過
·A1:用Dev-C++進行調試,發現660.8這個數據在電腦中顯示的值為660.799…
·Q2:但是那時還不懂浮點型有誤差
·A2:就反復的對number的數據類型進行修改,發現改變數據類型之前錯的測試點過了,但另外的兩個測試點又沒過
·Q3:編譯錯誤的原因
·A3:后來直接重寫代碼,結果重寫的過程中將price錯寫成printf,導致編譯錯誤
·Q4:最后怎么做對
·A4:后來請教了同學,在money后加上0.001,答案正確,但並不理解,上課時老師提到這題才明白是浮點型誤差的問題
3.2PTA題目2
C練習--分支結構
7-6 出租車計價:根據某城市普通出租車收費標准編寫程序進行車費計算
3.2.1算法分析
1.定義行駛里程kilometer、等待時間minute、車費fee;(其中kilometer、fee為雙精度浮點型變量,minute為整型變量)
2.輸入kilometer、minute;
3.如果kilometer<=3,將10賦給fee;
4.如果3<kilometer<=10,則超出3的部分計每公里2元;
5.如果kilometer>10,則超出10公里的部分計每公里3元;
6.計算等待時間應付的車費;
7.將行駛里程所付的車費與等待時間所付的車費相加;
8.輸出總車費。
3.2.2代碼截圖
3.2.3測試數據
3.2.4PTA提交列表及說明
·Q1:剛開始部分正確,但是找不到問題,一個測試點沒過,題目又沒顯示測試點
·A1:后來在一步步調試下發現第三個判斷輸出結果出錯,在仔細檢查下發現只是計算錯誤
3.3PTA題目3
C練習--分支結構
7-7 三個數由小到大輸出:輸入三個整數x,y,z,將這三個數由小到大輸出
3.3.1算法分析
·算法一:
1.定義三個整型變量int1、int2、int3,定義一個整型的暫時儲存變量temp;
2.如果int1>int2,通過temp實現int1與int2兩個值的互換;
3.如果int1>int3,通過temp實現int1與int3兩個值的互換;
4.如果int2>int3,通過temp實現int2與int3兩個值的互換;
5.按照int1、int2、int3的順序輸出,輸出的三個數由小到大排列。
·算法二:
1.定義三個整型變量x、y、z;
2.如果x<y<z,按x、y、z的順序輸出;
3.如果x<z<y,按x、z、y的順序輸出;
4.如果y<x<z,按y、x、z的順序輸出;
5.如果y<z<x,按y、z、x的順序輸出;
6.如果z<x<y,按z、x、y的順序輸出;
7.如果z<y<x,按z、y、x的順序輸出;
3.3.2代碼截圖
代碼一:
代碼二:
3.3.3測試數據
3.3.4PTA提交列表及說明
·Q1:為什么會提交兩種方法
·A1:最開始最這題的時候,我是用的算法一的做法,但是不知道為什么只是部分正確,就改用成算法二的笨方法
·Q2:算法一出錯的原因
·A2:在課后請教了老師之后,發現只是我的一個標識符打錯了。當時因為這種做法並沒有掌握的很好,就沒有深究錯誤的原因,沒有進行調試,在之后的學習過程中,我應該先自己琢磨,一步步調試,實在判斷不出來錯誤原因的情況下再去請教老師、同學。