C語言I部落格作業03

全湖廣發表於2020-11-06
這個作業屬於那個課程 https://edu.cnblogs.com/campus/zswxy/SE2020-3
這個作業的要求在哪裡 https://edu.cnblogs.com/campus/zswxy/SE2020-3/homework/11450
這個作業的目標 發掘學習中的問題,總結自己的收穫,改善現有的問題
學號 20209167

1.PTA實驗作業

從PTA題目集中選出3個你最滿意的題目完成以下內容,選擇題目難度越大,分值越高,每題2分,內容要求如下:

1.本題要求編寫程式,計算序列 2/1+3/2+5/3+8/5+... 的前N項之和。注意該序列從第2項起,每一項的分子是前一項分子與分母的和,分母是前一項的分子。
輸入格式:
輸入在一行中給出一個正整數N。
輸出格式:
在一行中輸出部分和的值,精確到小數點後兩位。題目保證計算結果不超過雙精度範圍。
1.1.1:

1.1.2:

資料表達:i,N為整型函式,q為代換變數(浮點型變數),sum,fz,fm,s為浮點型變數
資料處理:其中s表示該式子每一項,fz,fm表示分子分母,sum是最終結果,q是迴圈中的變數,根據題目要求調整最後輸出結果為兩位小數。

1.1.3:

  • Q1:剛開始沒有用q代換變數,導致計算出錯,部分正確。
  • A1:用了q代換,計算步驟正確,問題解決。

2.微博上有個自稱“大笨鐘V”的傢伙,每天敲鐘催促碼農們愛惜身體早點睡覺。不過由於笨鍾自己作息也不是很規律,所以敲鐘並不定時。一般敲鐘的點數是根據敲鐘時間而定的,如果正好在某個整點敲,那麼“當”數就等於那個整點數;如果過了整點,就敲下一個整點數。另外,雖然一天有24小時,鍾卻是隻在後半天敲1~12下。例如在23:00敲鐘,就是“噹噹噹噹噹噹噹噹噹噹噹”,而到了23:01就會是“噹噹噹噹噹噹噹噹噹噹噹噹”。在午夜00:00到中午12:00期間(端點時間包括在內),笨鍾是不敲的。
下面就請你寫個程式,根據當前時間替大笨鐘敲鍾。
輸入格式:
輸入第一行按照hh:mm的格式給出當前時間。其中hh是小時,在00到23之間;mm是分鐘,在00到59之間。
輸出格式:
根據當前時間替大笨鐘敲鍾,即在一行中輸出相應數量個Dang。如果不是敲鐘期,則輸出:
Only hh:mm. Too early to Dang.

其中hh:mm是輸入的時間。
輸入樣例1:
19:05

輸出樣例1:
DangDangDangDangDangDangDangDang

輸入樣例2:
07:05

輸出樣例2:
Only 07:05. Too early to Dang.
2.1.1:

2.1.2:

資料表達:定義時間hh,mm(整型資料),i,n也是整型資料。
資料處理:用到了for語句,ceil函式計算不超過mm的最小整數n=hh-12+ceil(1.0*mm/60);,用if語句設定題目要求時間段。

2.1.3:

  • Q1:剛開始if語句括號中打的是=所以編譯錯誤。
  • A2:改成==就對了。
  • Q2:還有輸入輸出格式沒注意空格。
  • A1:後來改正後格式正確。

3.L1-031 到底是不是太胖了 (10分)

據說一個人的標準體重應該是其身高(單位:釐米)減去100、再乘以0.9所得到的公斤數。真實體重與標準體重誤差在10%以內都是完美身材(即 | 真實體重 − 標準體重 | < 標準體重×10%)。已知市斤是公斤的兩倍。現給定一群人的身高和實際體重,請你告訴他們是否太胖或太瘦了。
輸入格式:
輸入第一行給出一個正整數N(≤ 20)。隨後N行,每行給出兩個整數,分別是一個人的身高H(120 < H < 200;單位:釐米)和真實體重W(50 < W ≤ 300;單位:市斤),其間以空格分隔。
輸出格式:
為每個人輸出一行結論:如果是完美身材,輸出You are wan mei!;如果太胖了,輸出You are tai pang le!;否則輸出You are tai shou le!。
輸入樣例:
3
169 136
150 81
178 155

輸出樣例:
You are wan mei!
You are tai shou le!
You are tai pang le!
3.1.1:

3.1.2:

資料表達:其中i,n為整型資料,W為浮點型資料。
資料處理:根據題目資料要求給出定義變數,根據公式用if語句處理,輸出給定的判定語句。用到了fabs函式計算絕對值等。(標準體重) W=(h-100)*0.9*2,fabs(w-W)<W*0.1

3.1.3:

  • Q1:剛開始會有編譯問題,格式問題,後來發現這主要是個數學問題
  • A1:通過不斷改公式,最後得出正確表示式。

2.閱讀程式碼。

*    優點:都是迴圈語句,有共同點,能互相轉換著運用。
*    可學習的地方:簡單的瞭解了一下while語句的運用和運用break提前終止迴圈的用法以及與for語句的異同,
     比如:在 for 迴圈的格式中,表示式 1、表示式 2 和表示式 3 在 while 迴圈中一個也不少,只不過不像 for 迴圈那樣寫在一起,而是分開寫。
     在 while 迴圈中,迴圈變數 i 在定義的時候就給它賦初值,++i 則是寫在 while 的迴圈體內。只有迴圈判斷表示式與 for 一樣,都是寫在其後的括號中。
     break是退出該迴圈,如果套在迴圈裡,它只退出最裡面的迴圈。

3.學習總結:

3.1學習進度條

周/日期 這周所花的時間 程式碼行 學到的知識點簡介 目前比較迷惑的問題
3/9 -3/15 6小時 310 for語句運用和基本原理 如何在輸出格式中換行,輸入輸出行數為N行時不知道如何處理

3.2累計程式碼行和部落格字數


3.3學習感悟
(1)還是要注意很多比如細節,符號,格式。
(2)打程式碼心態要好。
(3)多與同學交流可以學到很多東西。
(4)多在網上看一些相關知識,很有幫助。

相關文章