C語言I博客作業07


作業頭

這個作業屬於哪個課程 C語言程序設計II
這個作業的要求在哪里 C語言I作業07
我在這門課程的目標是 學好C語言為學習以后學習其他的語言做准備
這個作業在那個具體方面幫助我實現目標 對while循環語句的運用,思考能力等
參考文獻 《C語言程序設計I》,Dev-c++.

1.PTA實驗作業

1.1統計學生成績

1.題目內容描述:
要求編寫程序讀入N個學生的百分制成績,統計五分制成績的分布。百分制成績到五分制成績的轉換規則:

  • 大於等於90分為A;
  • 小於90且大於等於80為B;
  • 小於80且大於等於70為C;
  • 小於70且大於等於60為D;
  • 小於60為E。

1.1.1數據處理.

1.數據表達:

  • (1).定義了n(學生人數),x(學生成績),i(為增量,記錄應輸入多少個成績),A,B,C,D,E,F,G,H,I,J,K分別為記錄達到某個等次的次數,都為整型。
  • (2).運用了for()循環語句,還有switch語句。
    2.數據處理:
  • (1).循環結構.for(i=1;i<=n;i++) ,switch(x/10)。
  • (2).運算處理. E+=F+G+H+J+K;A++,B++,C++,D++,E++,F++,G++,H++,J++,K++.

1.1.2實驗代碼截圖

1.1.3 造測試數據

輸入數據 輸出數據 說明
6 輸出數據 每一個等次都有
5 輸出數據 分數都小於60
5 輸出數據 分數都在60到70之間
5 輸出數據 分數都在70到80之間
10 輸出數據 分數在每個等次都有涉及

1.1.4 PTA提交列表及說明

  • 根據PTA提交列表,簡要描述調試程序碰到的問題及解決辦法.
  • 1編譯錯誤:開始的時候沒有對F,G,H,I,J定義;
  • 2部分正確:沒有對F,G,H,I,J,K達到某個等次的次數進行合並。

1.2 計算天數

1.題目內容描述:

  • 要求編寫程序計算某年某月某日是該年中的第幾天。

1.2.1數據處理.

1.數據表達:

  • (1).定義了 Year,Month,Day,n(天數求和),都為整型。
  • (2).運用了if()條件語句,還有switch語句。
    2.數據處理:
  • (1).結構類型:分支結構;if-else條件語句[if((Year%40&&Year%100!=0)||(Year%4000))];switch(Month)語句.
  • (2).運算處理:n+=Day;

1.2.2實驗代碼截圖

1圖片 2圖片

1.2.3 造測試數據

輸入數據 輸出數據 說明
2000/04/05 96 閏年
2099/10/30 303 非閏年

1.2.4 PTA提交列表及說明

  • 根據PTA提交列表,簡要描述調試程序碰到的問題及解決辦法.
  • 1部分正確:開始不知道用if-else將閏年與非閏年分開運行,只進行了閏年的代碼。
  • 2部分正確:閏月二月份是29天我寫成了28天。

2.代碼互評

1同學代碼截圖

2同學代碼截圖

3自己代碼截圖

與第一位同學的區別

  • 1與第一位同學的區別在於她只是用了A,B,C,D,E這幾個增量;而我還用了F,G,H,I,J,K這些增量,還要對屬於E等次的求和,挺麻煩的;
  • 2還有她用到了default,對於沒有對應的5,4,3,2,1,0;就直接輸出E,對此類題用到default的需要蠻大,值得學習。
    與第二位同學的區別
  • 1與第二位同學的區別在於我是略復雜變量的表達式,她是一個簡單變量的表達式,因為她在表達式外已經運算好了;
  • 2她case后的表達式比較簡單,而我的太復雜了,她的代碼與第一位同學的代碼在10與9這里一個是否合並成一個A++,這個也是一個技巧,值得學習。

3.學習總結

3.1學習進度條

時間 這周所花的時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
第一周 16個小時 28行 學到了編寫代碼的基本知識,如:順序結構 符號(英)與(漢)混淆
第二周 20個小時 20行 學到了運算符,賦值 主要是賦值,在printf中“="左右要空格其他就不用了
第三周 23個小時 98行 學到了分支結構(if-else),&&,%,冪運算pow,平方根sqrt 對一些新知識不能馬上運用
第四周 16個小時 70行 學到了for語句,求小數點(要求用1.0來除以···),還有該變正負號知識 現在沒問題了,在scanf()內&n&m之間要用“,"
第五周 26個小時 62行 學到了while循環語句,定義函數和調用函數的運用. 在定義函數后不知道如何運用
第六周 22個小時 154行 學到了if-else if-else的深入使用、用代碼解決數學(函數)問題、如求一個數的個,十,百,千位等,還有求成績的平均值,龜兔賽跑誰快誰慢 對想表達的意思不能夠很好的用代碼表達
第七周 20個小時 136行 學到了switch語句的使用,雖然if-else分支結構可以完全取代switch的語句,但是switch也有它的優勢,少量選擇比較快捷。 對switch語句中不清楚如何嵌入if-else結構

3.2累計代碼行數和博客字數.

3.3 學習內容總結和感悟

3.3.1 學習內容總結

請用思維導圖的形式將到目前為止所學的內容進行整理。

3.3.2學習體會

1此次作業讓我明白了在編寫程序的過程中,可以用不同的語句,分支結構來解決同一個問題,解決一個關於分支的問題,用switch可以解決的問題,同時if-else同樣也可以解決,雖然if-else運用廣泛,switch也有自己的優勢,如:少量選擇比較快捷,case的數量沒有任何的限制。
2此次作業讓我學會了分支結構switch的運用技巧(1):每一個case后的表達式的返回值必須是獨一無二的。不能和其他的case后的值相等。(2):每一個case后的break都是可以沒有的。根據具體的要求來判斷。(3):在switch語句中,一旦執行了某一個case中的代碼塊,那么就不再進行任何case的比較,后續的代碼都將順序被執行,直到遇到了break,或者是default語句,整個switch才能被結束。(5):default語句可以沒有,看題目的需求(在統計學生成績這個題上就充分體現了)。
3琛哥本次pta上第二個編譯題有點小問題,讓我運行了蠻久,相信下次作業實例模板因該會更好,如果不清楚學校代號是哪個學校,則輸出"OtherUniversity"。我運行了很久總是出現格式錯誤,后來同過與另外幾個學校的英文單詞對比發現因該要在Other后加上空格,才解決了格式錯誤


免責聲明!

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



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