這個作業屬於哪個課程 | C語言程序設計II |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-3/homework/10101 |
我在這個課程的目標是 | 繼續熟悉嵌套循環結構並且復習以前的for、if-else循環語句 |
這個作業在哪個地方具體方面幫助我實現目標 | PTA作業,《C Primer Plus》,C語言的課本 |
參考文獻 | C語言程序設計 ,百度百科 ,百度文獻 |
1.PTA實驗作業
1.題目名(梅森數)
形如2n−1的素數稱為梅森數(Mersenne Number)。例如22−1=3、23−1=7都是梅森數。1722年,雙目失明的瑞士數學大師歐拉證明了231−1=2147483647是一個素數,堪稱當時世界上“已知最大素數”的一個記錄。
本題要求編寫程序,對任一正整數n(n<20),輸出所有不超過2n−1的梅森數。
輸入格式:
輸入在一行中給出正整數n(n<20)。
輸出格式:
按從小到大的順序輸出所有不超過2n−1的梅森數,每行一個。如果完全沒有,則輸出“None”。
輸入樣例:
6
輸出樣例:
3
7
31
1.1.1數據處理
數據表達:將 n,i,a,b,c定義為整型變量
數據處理:進行了for循環的嵌套,使用了if語句,利用pow冪函數,利用看break循環語句,表達式是b=pow(2,a)-1;
偽代碼:
1.1.2實驗截圖代碼
1.1.3造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
6 | ![]() |
梅森數是3、7、31 |
12 | ![]() |
梅森數是3、7、31 、127 |
15 | ![]() |
梅森數是3、7、31、127、8191 |
1.1.4 PTA提交列表及說明
1.2題目名 (輸出三角形字符陣列)
本題要求編寫程序,輸出n行由大寫字母A開始構成的三角形字符陣列。
輸入格式:
輸入在一行中給出一個正整數n(1≤n<7)。
輸出格式:
輸出n行由大寫字母A開始構成的三角形字符陣列。格式見輸出樣例,其中每個字母后面都有一個空格。
輸入樣例:
4
輸出樣例:
A B C D
E F G
H I
J
1.2.1數據處理
數據表達:本題將count,n定義為整型變量
數據處理:進行了for循環的嵌套,表達式for (int i = n; i > 0; i--) ,for (int j = 0; j < i; j++)
1.2.2實驗截圖代碼
1.2.3造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
4 | ![]() |
構成了一個三角形 |
1 | ![]() |
不構成一個三角形 |
6 | ![]() |
構成了一個三角形 |
1.2.4PTA提交列表及說明
說明:①編譯錯誤:審題上沒弄清
②編譯錯誤:for (int j = 0; j < i; j++) 寫成了for (int j = 0; j < i; j--)
2代碼互評
1.同學代碼截圖(李傑同學)
2.自己代碼截圖
說明:①我們兩個定義的變量有小的差別
②我第一個for循環運用了自減,而他的第一個for循環是自加,我並沒有定義c='A',而是直接輸出
3.同學代碼截圖(李傑同學)
2.自己代碼截圖
說明:①我們定義的變量不同,然后他是最后討論輸出none的情況,而我是直接討論當n=1是輸出none
②我只用到了pow函數,而他卻還用到了sqrt函數
3.學習總結
3.1學習進度條:
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
第4周/9.16~9.22 | 2h | 40 | 初步了解c語言,編寫一些簡單的代碼 | 不知道為什么那樣編寫,不知道到每個字符的意思 |
第5、6周/9.23~10.6 | 50h | 90 | 學會用markdown語法寫博客園,學會下載用編程軟件並且初步了解,學會如何提問 | 還是不太熟悉編程軟件的使用流程,PTA編程出錯后還是要尋找半天 |
第7周/10.7~10.11 | 20h | 176 | 學會使用if-else語句,格式化輸入語句scanf(),初步了解了各個數據類型 | 每個數據類型還是不太熟悉,每個語句的細節沒有太了解 |
第8周/10.14~10.20 | 15h | 222 | 學會了for循環語句,循環結構以及語句的三個表達式,初步了解指定次數的循環程序4個部分 | for循環語句還不太熟練 |
第9周/10.21~10.26 | 20h | 266 | 學會如何在定義函數,並且學會如何調用它,然后學會如何檢查函數出錯處,學會運用系統的總結學習經驗 | 對於如果調用和定義函數還不太熟悉,如果使用輔助工具還不太熟悉 |
第10周/10.27~11.2 | 13h | 364 | 續熟悉調用定義函數、了解字符型數據類型,熟悉邏輯運算符和分支結構 | dev-c++的運行出現問題,然后通過上了知乎才解決;然后那個字符型數據類型還不太會 |
第11周/11.3~11.8 | 10h | 456 | 了解熟悉多分支結構switch語句的使用 | 對於題目傳化為代碼還是比較迷惑 |
第12周/11.9~11.16 | 11h | 503 | 了解熟使用while和do-while循環結構解決問題 | 對於for,while,do-while等循環結構的運用和區分還是不太清楚 |
第13周/11.17~11.22 | 13h | 560 | 了解熟悉break、continue語句的使用 , 了解熟悉使用嵌套循環 | 對於嵌套循環的應用還不夠熟悉,沒有很好的區分break和continue語句的作用 |
第14周/11.23~11.29 | 15h | 580 | 繼續熟悉嵌套循環結構並且復習以前的for、if-else循環語句 | 對於最近學的整體把握還不夠熟悉,不能靈活運用 |
3.2 累積代碼行和博客字
3.3 學習內容總結和感悟
3.3.1 學習內容總結
請用思維導圖的形式將到目前為止所學的內容進行整理
3.3.2學習體會
①這周相較於上周完成作業的態度明顯改善,因為上周是有點事所以作業完成質量不高,希望以后能夠有空就做不拖到最后;
②臨近期末考試,感覺自己這么課程學得還不是太好,所以希望這兩周多花點時間去練習。