C語言|博客作業08


一、本周教學內容&目標

第4章 循環結構 4.1-4.2 熟悉使用while和do-while結構解決問題。

二、本周作業頭

問題 答案
這個作業屬於哪個課程 C語言程序設計II
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9977
我在這個課程的目標是 熟練使用c語言進行編程
這個作業在那個具體方面幫助我實現目標 使我靈活使用while和do-while結構解決問題
參考文獻 https://wenku.baidu.com/view/152b703359fb770bf78a6529647d27284b73372c.html

三、本周作業

1.PTA實驗作業

請再此處列出自己的排名圖片,如:

從PTA題目集中選出2個你最滿意的題目完成以下內容:

1.1求整數的位數及各位數字之和

對於給定的正整數N,求它的位數及其各位數字之和。

1.1.1數據處理

(1)數據表達:我先用int定義i,m(正整數N),a(各個位數)及sum(各位數字之和)我在這里主要用的是for語句,然后用式子a=m%10得出正整數m的各個位數,用m/=10得出位數,最后根據sum+=a得出各位數之和。
(2)數據處理:(偽代碼):
int /定義變量/
scanf()
for()/循環/
a=m%10;/正整數m的各個位數/
m/=10;/得出位數/
sum+=a;/各位數之和/
輸出結果

1.1.2實驗代碼貼圖

1.1.3 造測試數據

輸入數據 輸出數據 說明
321 3 6 這個數是三位數,位數之和是6
345 3 12 這個數是三位數,位數之和是12
89877 5 39 這個數是五位數,位數之和是39

1.1.4 PTA提交列表及說明


說明:(1)編譯錯誤:在輸出時沒加上“i”。
改正錯誤:在“printf”輸出里面加上“i”。

1.2 韓信點兵

在中國數學史上,廣泛流傳着一個“韓信點兵”的故事:韓信是漢高祖劉邦手下的大將,他英勇善戰,智謀超群,為漢朝建立了卓越的功勞。據說韓信的數學水平也非常高超,他在點兵的時候,為了知道有多少兵,同時又能保住軍事機密,便讓士兵排隊報數:

按從1至5報數,記下最末一個士兵報的數為1;
再按從1至6報數,記下最末一個士兵報的數為5;
再按從1至7報數,記下最末一個士兵報的數為4;
最后按從1至11報數,最末一個士兵報的數為10;
請編寫程序計算韓信至少有多少兵。

1.2.1數據處理

(1)數據表達:我先用int定義士兵數m,且我在這里主要用的是for語句,並根據題意列出“(m % 5 == 1) && (m % 6 == 5) && (m % 7 == 4) && (m % 11 == 10)”,最后得出結果。
(2)數據處理:(偽代碼):
int /定義變量/
for()/循環/
if(m % 5 == 1) && (m % 6 == 5) && (m % 7 == 4) && (m % 11 == 10)/士兵數目/
printf()/輸出結果/

1.2.2實驗代碼貼圖

1.2.3 造測試數據

輸入數據 輸出數據 說明
無輸入數據 2111 韓信至少擁有士兵為2111人

1.2.4 PTA提交列表及說明


說明:(其實這題我本來並不想講,只是我寫這題用的時間僅次於第三題,且問題較大,所以拉出來講)(1)編譯錯誤:很明顯這是要做一個判斷語句,但我在寫“(m % 5 == 1) && (m % 6 == 5) && (m % 7 == 4) && (m % 11 == 10)”時用的都是“=”號,結果就有錯誤
改正錯誤:在里面加上雙“=”
(2)編譯錯誤:我本想用while語句,就直接寫的“while(m = 1;; m++)”結果發現有問題,因為我后面又用了if語句,而while后面要加(條件) { 執行的語句 }。還有其實我不知道為什么"m = 1和m++"之間是兩個分號,同學說是要多加一個分號,這里我倒還沒弄懂。
改正錯誤:剛開始我是想把if去掉徹底改成while語句格式,但想了想,發現可以直接把while改成for就可以了,所以我就直接把while改成了for.在"m = 1;m++"之間多加個分號。

2.代碼互評(7-1) 求整數的位數及各位數字之和

同學截圖:
我的截圖:
區別:(1)說實話,這位同學第一排的意思我不咋懂(2)這位同學主要用的while語句而我用的是for語句(3)相較來說我們兩個的思路是一樣的,但我的相對於更簡便。
同學截圖:
我的截圖:
區別:(1)這位同學同樣也用的while語句(2)他定義的量相比我的更少,就更易懂,其它方面的話就差不多了。

3.學習總結

3.1 學習進度條

周/日期 這周所花時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
1/21-1/23 三天 47 基礎的代碼知識 代碼符號不了解
2/26-2/29 四天 64 學會用MinGw-w64來編譯C程序 編譯的錯誤點難找
3/9-3/11 三天 99 學會了賦值和“If-else句式”的運用 編程的熟練度不高
4/16-4/18 三天 87 學會運用代碼進行計算 對於式子難以列出來
5/22-5/25 四天 98 對函數的調用有了初步認識 對於一些c語言的符號和語法還是不懂
6/30-6/1 三天 113 初步熟悉了多分支結構、字符型數據類型和邏輯運算符 在看到某個數字和符號一起時還是會迷茫
7/5-7/7 三天 112 初步熟悉了多分支結構switch語句的使用 對於用什么表達式還比較迷
8/12-8/14 三天 110 初步熟悉使用while和do-while結構解決問題 在寫字符時有點對字符的含義理解模糊

3.2 累積代碼行和博客字數

3.3 學習內容總結和感悟

3.3.1 學習內容總結

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

3.3.2 學習體會

轉眼間C語言作業已經寫到了了第八周,我對於這八次的學習其實收獲還挺大的,學會到了各個C語言編程語句(for語句,if-else語句,switch語句等等),以及各種字符(雖然現在對於某些字符含義還是不懂),但我相信,只要我繼續去熟記C語言方面的句型和字符意義,我一定會有很大進步的,天不生我,萬古如長夜,加油吧,少年!


免責聲明!

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



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