日期類題目彙總

2021-10-21 17:26:14 字數 3753 閱讀 1518

3.一年中的第幾天

4.列印日期

5.日期差值

學而不思則罔,做題的同時做好歸納總結才能更好的提公升自己,這次將日期類的題目總結歸納一下

題目描述

設計乙個程式能計算乙個日期加上若干天後是什麼日期。

輸入描述:

輸入第一行表示樣例個數m,接下來m行每行四個整數分別表示年月日和累加的天數。

輸出描述:

輸出m行,每行按yyyy-mm-dd的個數輸出。

牛客網題目鏈結

將需要累積的天數加到原來的天數上邊,然後再進行按照日期的特點進行"加法進製";

首先,我們需要知道每個月的天數,才能進行加法進製,每個月的天數可以定義乙個陣列,只要知道月份就返回對應的天數,這裡需要注意的是當月份是2月份時,天數會有所變化;

閏年二月29天,平年二月28天,4年一潤百年不潤,四百年再潤;

舉例如下:

//閏年且是二月

return29;

return arr[month];}

void

getday

(int _year,

int _month,

int _day,

int num)

}printf

("%4d-%02d-%02d\n"

,_year,_month,day)

;//%02d:兩個字元右對齊,不過不夠用0補上

}int

main()

}題目描述根據輸入的日期,計算是這一年的第幾天。

測試用例有多組,注意迴圈輸入。

輸入描述:

輸入多行,每行空格分割,分別是年,月,日

輸出描述:

成功:返回outday輸出計算後的第幾天;

牛客網題目鏈結

求一年中的第幾天,我們需要將所有的天數都加起來,那麼就需要知道當前月份的天數,然後加起來。

這裡就和上面的題正好是相反的,上題是需要"進製",這裡是需要"借位"。

舉例如下:

//閏年且是二月

return29;

return arr[month];}

intmain()

cout<

}}題目描述給出年分m和一年中的第n天,算出第n天是幾月幾號。

輸入描述:

輸入包括兩個整數y(1<=y<=3000),n(1<=n<=366)。

輸出描述:

可能有多組測試資料,對於每組資料,

按 yyyy-mm-dd的格式將輸入中對應的日期列印出來。

牛客網題目鏈結

給出年份和天數,要求計算幾月幾號,經過前面兩題很自然的就想到了把天數減下去,把月份加上來。

舉例如下:

//閏年且是二月

return29;

return arr[month];}

void

print

(int year,

int day)

printf

("%4d-%02d-%02d\n"

,year,month,day);}

intmain()

return0;

}題目描述:有兩個日期,求兩個日期之間的天數,如果兩個日期是連續的我們規定他們之間的天數為兩天

輸入描述:

有多組資料,每組資料有兩行,分別表示兩個日期,形式為yyyymmdd

輸出描述:

每組資料輸出一行,即日期差值

牛客網題目鏈結

求當前兩個日期的差值,我們可以將日期進行拆分,年和年進行比較,一年365天閏年多一天,利用迴圈從小的年份一年一年往上加,在這期間判斷是否是閏年即可得到對應的年份「日期」,再將對應的"零散"天數差值計算出來;

如果年大月小或者年小月大,則相差的日期=年的差值的絕對值-"零散"日期的絕對值,反之則相加,最後根據題目要求再加上一;

舉例如下:

劍指offer DP類題目彙總

大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項。n 39.斐波那契數列就是前兩個數的和等於第三個數,乙個典型的遞迴思想的數列,所以這道題也是用遞迴的思想來解決.但是只是遞迴的話,會產生很多的冗餘,因為遞迴會把每種情況算很多遍,比如算n 5的時候,會把前面n 4.3.2....

LeetCode題目彙總

leetcode官網 以下都是我自己做過的題目,答案也全是自己做的,和網上大牛的最優解還是有差距。我的leetcode主頁 題名 難度備註 1兩數之和簡單2 兩數相加中等3 無重複字元的最長子串中等4 尋找兩個有序陣列的中位數困難7 整數反轉 簡單19 刪除鍊錶的倒數第n個節點 中等26 刪除排序陣...

CCF CSP題目彙總

ccf csp首頁 以下都是我自己做過的題目,答案也全是自己做的,和網上大牛的最優解還是有差距。試題編號 試題名稱 最高得分 201912 1 報數100 201912 2 站選址 100201909 1 小明種蘋果 100201909 2 小明種蘋果 續 100201909 3 字元畫201903...