1.作業頭
這個作業屬於那個課程 | C語言程序設計II |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11627 |
這個作業的目標 | 學習更多的知識,明白自己的短板,方便自己更好的學習 |
學號 | 20209119 |
1.PTA實驗作業(20分/題)
1.1 題目一
打印九九口訣表 (15分)
下面是一個完整的下三角九九口訣表:
本題要求對任意給定的一位正整數N,輸出從11到NN的部分口訣表。
1.1.1數據處理
數據表達:定義整性變量i,j,n.其中n由用戶輸入。
數據處理:for(i=1;i<=n;i++){
for(j=1;j<=i;j++){
printf("%d*%d=%-4d",j,i,j*i);
}
printf("\n");
}
1.1.2實驗代碼截圖
1.1.3造測試數據
當n=6時:
當n=9時:
1.1.4 PTA提交列表及說明
答案錯誤:空行位置不對,同時將%-4d寫成-%4d達不到題目的要求
1.2題目二
一錢生多錢 (10分)
在日常生活中,我們常常需要將一些大額的人民幣換算成零錢,已知我們有許多面值5元,2元和1元的人民幣。
編程實現:輸入我們需要兌換的金錢數,然后我們用這些面值5元,2元和1元的人民幣來兌換,要求每一種面值都至少有1張,然后輸出有多少種兌換方式。
1.2.1數據處理
數據表達:定義整形變量money,i,j,k。其中money由用戶輸入。
數據處理:
for(i = 1;i <= money / 5;i++)
{
for(k = 1;k <= money / 2;k++)
{
for(j = 1;j <= money;j++)
{
if(money == i * 5 + j + k * 2)
{
printf("five=%d,two=%d,one=%d\n",i,k,j);
}
}
}
}
1.2.2實驗代碼截圖
1.2.3造測試數據
1.2.4 PTA提交列表及說明
運行超時:寫的代碼過於冗長使運行時間過長
2.代碼互評
同學代碼截圖1
自己代碼截圖1
1.該同學使用了一個switch語句,兩個for循環,一個if語句而我使用的一個for循環,四個if語句,兩份代碼都有各自的特色
2.感覺我的代碼比他的容易理解,容易讓人看懂代碼的意思
同學代碼截圖2
自己代碼截圖2
1.該同學和我的思路差不多,不過我們在各自代碼的一些地方有些不同
2.該同學在for循環中使用的條件很明確,而我使用的是用money來表示
3.1學習進度條
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
第八周10.19-10.25 | 28小時 | 500 | if-else的使用,for循環的使用 ,switch的使用,while和do—while的使用,輸出保留幾位小數 ,break和continue的使用和區別,輸出時四舍五入等 | 對變量的初始化, |
第九周10.26-11.1 | 24小時 | 550 | 多種嵌套,輸出時向左向右靠齊等 | 對輸出時向左向右靠齊的使用不熟練,對蛇形代碼的理解不透徹 |
第十周11.2-11.8 | 26小時 | 500 | 無 | 數組的使用 |
第十一周11.9-11.15 | 30小時 | 550 | 自定義函數的使用,宏定義,兩種命名方法 | 二維數組的使用以及宏定義的使用 |
第十二周11.16-11.22 | 32小時 | 600 | 一些算法 | 函數的使用 |
第十三周11.23-29 | 25小時 | 500 | 無 | 無 |
第十四周11.30-12.6 | 23小時 | 450 | 字符串的相關使用 | 字符串的相關問題 |
第十六周12.14-12.20 | 20小時 | 400 | 無 | 無 |
3.2 累積代碼行和博客字數
3.3學習內容總結和感悟
3.3.1學習內容總結
3.3.2學習體會
- 1.最近一直是在復習,沒有太多的去接觸新的知識,對我而言,任何東西,基礎最重要,現在回過頭來看看之前的知識,比第一次接觸時要清晰很多,也嘗試用后面所學的去解決,對於c語言,當然也還沒有接觸到最深的那塊地方,自知還有很多不足的地方,接下來的時間里我會去一一彌補改正。
- 2.對於如何跳出多重循環:第一可以在循環內部設定一個停止條件;第二增加break;第三使用goto語句(無條件轉移語句)goto語通常與條件語句配合使用。可用來實現條件轉移, 構成循環,跳出循環體等功能。但是,在結構化程序設計中一般不推薦使用goto語句, 以免造成程序流程的混亂,使理解和調試程序都產生困難。