初學C語言之近日小結7

2021-08-26 12:14:51 字數 1871 閱讀 4499

(為什麼是7而不是6?因為之前電腦壞了,上次打卡用的是手機寫的ppt,所以第六次的就在日後轉寫成部落格)

近日一直在做題

從昨天電腦修好之後就一直在pta做題,做的題中有簡單的也有難的讓人頭疼的,今天在這裡就舉出兩個:

時間流逝問題

下面是題目:

然後是幾點(15 分)

有時候人們用四位數字表示乙個時間,比如1106表示11點零6分。現在,你的程式要根據起始時間和流逝的時間計算出終止時間。

讀入兩個數字,第乙個數字以這樣的四位數字表示當前時間,第二個數字表示分鐘數,計算當前時間經過那麼多分鐘後是幾點,結果也表示為四位數字。當小時為個位數時,沒有前導的零,即5點30分表示為530。注意,第二個數字表示的分鐘數可能超過60,也可能是負數。

輸入格式:

輸入在一行中給出2個整數,分別是四位數字表示的起始時間、以及流逝的分鐘數,其間以空格分隔。注意:在起始時間中,當小時為個位數時,沒有前導的零,即5點30分表示為530;流逝的分鐘數可能超過60,也可能是負數。

輸出格式:

輸出四位數字表示的終止時間。題目保證起始時間和終止時間在同一天內。

輸入樣例:

1120 110

輸出樣例:

我對於這道題的基本思路是:先把流失時間(單位:分鐘)全部加入分鐘內,然後分兩大種情況判斷(分正負),之後判斷流失時間是否超過一小時,然後再做處理。

下面是**:

#include

int main()

} else

if(minute1 + minute2 == 60)else

if(minute1 + minute2 > 60)

//由於起始時間和終止時間在同一天,所以不用判斷hour超過24的情況

int time2; //time2是最後得到的時間

time2 = hour * 100 + minute1;

printf("%d", time2);

return

0;}

另外:也可以把流失時間根據原來的分鐘轉化為小時分鐘的形式,不過個人感覺麻煩些。

讓人心累的兔子數列

這是題目:

兔子繁衍問題(15 分)

一對兔子,從出生後第3個月起每個月都生一對兔子。小兔子長到第3個月後每個月又生一對兔子。假如兔子都不死,請問第1個月出生的一對兔子,至少需要繁衍到第幾個月時兔子總數才可以達到n對?

輸入格式:

輸入在一行中給出乙個不超過10000的正整數n。

輸出格式:

在一行中輸出兔子總數達到n最少需要的月數。

輸入樣例:

30 輸出樣例:

素來題目字數越少的題越難,這道題就很好的證明了這句話。具體思路寫在了**裡:

#include

/*此題用到了 斐波那契數列

斐波那契數列指的是這樣乙個數列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,

144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........

這個數列從第3項開始,每一項都等於前兩項之和

*/int main()

scanf("%d", &n); //讀入兔子數量

if(n>0 && n<=10000)else

if(n>=2)

}return

0;}

最後

心得:深切感受到了數學基礎的重要性,日後要好好學習數學知識。

日常鼓勵自己:早努力一天,就能早一天解決問題。

初學C語言之近日小結3 有關求素數和

近三天主要學習了函式和陣列的相關知識,對於函式還處於定義階段,陣列可以初步運用,之前所學的迴圈也在練習階段。下面進入正文 求素數和的 這次的題目還是由翁愷老師所出的題目 素數和 10分 題目內容 我們認為2是第乙個素數,3是第二個素數,5是第三個素數,依次類推。現在,給定兩個整數n和m,0 incl...

初學C語言之語句

c實現了其他現代高階語言所具有的所有語句,且都按照所預期的方式工作。根據所學知識及課本總結如下 if語句根據條件執行語句。while語句重複執行一些語句。for語句是while迴圈的一種常用形式的快速寫法,它把控制迴圈的表示式收集放在一起,以便尋找。do語句與while語句類似,其區別在於do可以保...

C 語言之 const static小結

我們都知道有const 修飾時,就意味著是唯讀不可修改的。1 欲阻止乙個變數被改變,可以使用 const 關鍵字 2 對指標來說,可以指定指標本身為 const 也可以指定指標所指向的資料為 const 或二者同時指定為 const 3 在乙個函式宣告中,const 可以修飾形參,表明它是乙個輸入引...