C語言博客作業08


作業頭:

這個作業屬於哪個課程 https://edu.cnblogs.com/campus/zswxy/SE2020-2
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11627
這個作業的目標 <熟悉break、continue的使用和熟悉使用循環的嵌套解決問題。>
學號 <20209135>

1.PTA作業

排名圖片:

1.1

輸入整數m,將所有大於1小於整數m的素數存入所指定的數組中(數組最多只存放100個素數,超過則提示“OVERFLOW”),輸出各素數——若輸入的m≤2,則提示“NO”,程序終止。注:素數(Prime Number),亦稱質數,指在一個大於1的自然數中,除了1和此整數自身外,沒法被其他自然數整除的數。

輸入格式:

輸入一個非0的整數。

輸出格式:

素數的輸出格式為每個素數5列寬、右對齊、每行顯示15個。

輸入樣例:
100
輸出樣例:
    2    3    5    7   11   13   17   19   23   29   31   37   41   43   47
   53   59   61   67   71   73   79   83   89   97
輸入樣例:
568
輸出樣例:
OVERFLOW
輸入樣例:
1
輸出樣例:
NO

1.1.1數據處理

數據表達:定義了i,n,m,count四個整形變量;m為輸入的數;count用來計算質數個數。
數據處理:對輸入數m進行判斷,m小於等於2則輸出“NO”,否則如果大於541則輸出“OVERFLOW”,否則用兩個for的循環語句嵌套;再用count計數15個數字換行;

1.1.2實驗代碼截圖

1.1.3造測試數據

輸入數據 輸出數據 說明
1 NO 1既不是素數也不是合數
52 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 在3到52間有14個素數
569 OVERFLOW 取569時,素數超過了100個

1.1.4 PTA提交列表及說明

1.編譯錯誤:大括號太多弄混淆了;
2.部分正確:把質數2排除在外,用i=3開始循環;
3.部分正確:忘記加十五個數一行;添加一個計數變量count來調整。

1.2

在日常生活中,我們常常需要將一些大額的人民幣換算成零錢,已知我們有許多面值5元,2元和1元的人民幣。

編程實現:輸入我們需要兌換的金錢數,然后我們用這些面值5元,2元和1元的人民幣來兌換,要求每一種面值都至少有1張,然后輸出有多少種兌換方式。

輸入格式:
輸入在一行中給出待換的零錢數額(大於等於8小於等於100)
輸出格式:
每行輸出一種兌換方式,按照如下格式輸出(並且每一種面值的人民幣都是從小到大輸出):
five=五元數量,two=兩元數量,one=一元數量
輸入樣例:

在這里給出一組輸入。例如:

13
輸出樣例:

在這里給出相應的輸出。例如:

five=1,two=1,one=6
five=1,two=2,one=4
five=1,two=3,one=2
five=2,two=1,one=1

數據處理

數據表達:定義了i,n,M,money,a,b六個整型變量,M作為輸入的錢的值;i為換成5元的數,b為換算成2元的數,money為1元的數;
數據處理:對輸入的M處理,算出可以換算成多少個5元的,記為n;for循環,money為減去i個5的值;再嵌套一個for對money處理,減去b個2;剩下的money為1元的個數;

實驗代碼截圖

1.2.3 造測試數據

輸入數據 輸出數據 說明
13 five=1,two=1,one=6 five=1,two=2,one=4 five=1,two=3,one=2 five=2,two=1,one=1 13元換成5元的2元的和1元的有四種換法
8 five=1,two=1,one=1 13元換成5元的2元的和1元的有一種換法
5 5是小於8的

1.2.4 PTA提交列表及說明

 段錯誤:忘記在輸入M的時候加上定位符&;
部分正確:把輸出的數弄混淆,把i打成n;
格式錯誤:忘記在輸出時,每次循環要換行;

2.代碼互評

2.1

同學的代碼截圖:

自己的代碼截圖:

1. 該同學的代碼調用了數學函數;而我只用到了主函數
2. 該同學定義了6個整形變量;而我定義了4個變量
3. 該同學是在代碼中算出第一百個素數;而我是直接運用541來進行編寫

2.2

同學的代碼截圖:

自己的代碼截圖:

1. 該同學定義了四個整形變量;而我定義了六個整形變量
2. 該同學用while循環來進行處理;而我用的是兩個for的嵌套處理
3. 該同學用到了goto來打破循環;而我用到的是break打破循環

3.學習總結

3.1學習進度條

周/日期 這周所花時間 代碼行 學到的知識簡介 目前比較迷惑的問題
第八周10.19~1025 29小時 690 printf顯示,hello world類型的代碼
第九周10.2~11.1 32小時 780 if,else的使用,計算華氏溫度的轉化 運算規則
第十周11.2~11.8 33小時 780 for的循環結構的使用,數學函數 數學計算
第十一周11.9~11.15 35小時 800 定義函數,調用函數
第十二周11.16~11。22 37 860 if /else的進一步學習
第十三周11.23~11.28 37 840 分支結構switch的學習 switch的運用還是不太熟,需要多加練習
第十四周11.30~12.5 36 850 while和do-while循環語句的運用 while的循環運用不熟練,時常出現運行超時的問題
第十五周·十六周12.6~12.20 1660 熟悉break、continue的使用和熟悉使用循環的嵌套解決問題 循環語句的嵌套不夠熟練,對break和continue的學習不夠嚴謹

3.2累計代碼行和博客字數

3.3學習內容總結和感悟:

3.3.1學習內容總結:

3.3.2 學習體會

1.快期末了,隨之而來的就是要考試了,忙忙碌碌等的就是考試來檢測自己,看的就是考試中自己的發揮。
2.這些天的學習節奏說快也不快,畢竟沒有博客園,pta來煩我們,但是說滿也不慢,因為沒有C語言作業也有其他的作業,因為要考的不是只有一門C,不想掛科,所以室友和我一起在寢室又過了這么多天。
3.忙在寢室的感覺也不是很差,外面很冷,不是誰都想出去挨凍,我們在寢室學習也還是挺充實的。
4.這次我們有一周沒有作業,所以我們都只是復習了一下下。
5.為什么這周又要寫C語言作業,哎,很煩的,不喜歡被安排做作業,能不能讓自己做點想做的。每次要做這個就要花費好長時間。感覺不是充實,只有累。
6.對於如何跳出多重循環:a.設定一個停止條件;
b.break;
c.goto語句(無條件轉移語句,goto語通常與條件語句配合使用,可用來實現條件轉移, 構成循環,跳出循環體等功能。但是,在結構化程序設計中一般不推
薦使用goto語句, 以免造成程序流程的混亂,使理解和調試程序都產生困難。)


免責聲明!

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



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