這個作業屬於哪個課程 | C語言程序設計II |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/swxy/SE2019-3/homework/9929 |
我在這個課程的目標是 | 熟悉代碼的編程,設計出一個小程序,能夠正常運行並且能夠擁有一定用戶 |
這個作業在哪個地方具體方面幫助我實現目標 | 熟悉多分支結構switch語句的使用 |
參考文獻 | C語言課本 百度百科 https://baike.baidu.com/item/偽代碼/10321865?fr=aladdin |
1.PTA實驗作業
1.1題目名
本題要求編寫程序計算某年某月某日是該年中的第幾天。
輸入格式:
輸入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)給出日期。注意:閏年的判別條件是該年年份能被4整除但不能被100整除、或者能被400整除。閏年的2月有29天。
輸出格式:
在一行輸出日期是該年中的第幾天
1.1.1數據處理
數據表達:用到了整型變量y,m,d,date
數據處理:用到了scanf和printf流程結構,主要運用了switch-break語句和if語句
偽代碼:定義變量 y,m,d,date=0;
if((y%40&&y%100!=0)||y%4000)(閏年的判別條件是該年年份能被4整除但不能被100整除、或者能被400整除)
{if(月份>2){日期加一天}}
switch(月份)
{各月份所對應的相關天數,跳出}
輸出(日期是該年中的第幾天)
return 0;
1.1.2實驗截圖代碼
1.1.3造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
2000/10/11 | 285 | 2000年10月11日是該年的第285天 |
2000/4/20 | 111 | 2000年10月11日是該年的第111天 |
2000/03/02 | 62 | 2000年3月2日是該年的第63天 |
2000/5/20 | 141 | 2000年5月20日是該年的第141天 |
1.1.4 PTA提交列表及說明
說明:
Q1:編譯錯誤
A1:開始思路沒理清,沒處理好天數和各具體月份的關系
1.2題目名
本題要求編寫程序讀入N個學生的百分制成績,統計五分制成績的分布。百分制成績到五分制成績的轉換規則:
大於等於90分為A;
小於90且大於等於80為B;
小於80且大於等於70為C;
小於70且大於等於60為D;
小於60為E
1.2.1數據處理
數據表達:用到了整型變量N,i,g,sum,A,B,C,D,E;
數據處理:用到了scanf和printf流程結構,主要運用了switch-break語句和if語句,
偽代碼: 定義變量 N,i,g,sum,A=0,B=0,C=0,D=0,E=0;
for(i=1;i<=N;i++) (進行for循環)
{
scanf("%d",&g);
sum=g/10; (取余數)
switch(sum)
{
不同余數所對應的等級
}
輸出(A、B、C、D、E對應的五分制成績的人數分布)
return 0;
1.2.2實驗截圖代碼
1.2.3造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
7 77 54 92 73 60 65 69 | 1 0 2 3 1 | 評為A的1個,B的0個,C的2個,D的3個,E的1個 |
3 67 78 97 | 1 0 1 1 0 | 評為A的1個,B的0個,C的1個,D的1個,E的0個 |
4 66 56 87 78 | 0 1 1 1 1 | 評為A的0個,B的1個,C的1個,D的1個,E的1個 |
1.2.4PTA提交列表及說明
說明:Q1:答案錯誤
A1:在確定等級分數時,我直接用的100,90,80,70,60;對代碼進行了修改,改為了看余數是否符合等級要求
Q2:編譯錯誤
A2:在對Q1進行修改時不夠仔細,導致代碼漏了符號
2代碼互評
1.同學代碼截圖
2.自己代碼截圖
說明:他的代碼和我的代碼有很大區別
1:使用的變量不同,但都是使用的整型變量
2:他將有31天,30天,29天,28天的月份整合在一起進行的運算,而我是算的是各月份的累積天數,顯然,該同學的代碼思路更好,省時
3.同學代碼截圖
4.自己代碼截圖
說明:他的代碼和我的代碼有很大區別
1:使用的變量不同,但都是使用的整型變量
2:他是先划分了分數區間,然后對其進行標識,而我是取的是十位數或百位數,將其標識,再用余數與之對應輸出結果
3.學習總結
3.1學習進度條
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
4/2019.9.21 | 7個小時 | 50 | 編程“hello word” | 初次接觸對代碼很迷惘,不知道表示的是什么意思 |
5/2019.10.2 | 8個小時 | 100 | 安裝gcc編譯器,將代碼建在自己的文件里 | 如何安裝的程序不明白 |
7/2019.10.11 | 10個小時 | 200 | 三種表達式,printf流程和scanf流程,if-else語句 | scanf流程還是不太明白 |
8/2019.10.17 | 20個小時 | 350 | 使用for循環語句數的循環程序設計 | for循環語句的結構還是有點困惑 |
9/2019.10.25 | 25個小時 | 550 | 使用while語句循環,自定義函數,參數 | 自定義函數還是·不太明白 |
10/2019.11.1 | 20個小時 | 700 | 熟悉多分支結構、字符型數據類型和邏輯運算符 | 關於字符型的代碼還是不太明白 |
11/2019.11.7 | 15個小時 | 1000 | 熟悉多分支結構switch語句的使用 | 對swith語句的使用還有一定的困惑\ |
3.2 累積代碼行和博客字數
3.3 學習內容總結和感悟
3.3.1 學習內容總結
請用思維導圖的形式將到目前為止所學的內容進行整理
3.3.2學習體會
這周主要對switch語句進行了學習,之前一直用的是if-else語句編寫,這次做題時,感覺自己可以用if-else語句寫出來,但是就是無法對switch靈活運用,這個還需要我進一步深入學習。
題目難度越來越大,知識點越來越多,在編寫代碼的同時還要對以前的進行回顧溫習,才能對代碼進一步學習,要一直努力,不能松懈