字串與日期處理 9 節假日

2021-10-02 20:58:17 字數 1831 閱讀 8915

題幹:

日曆有 陽曆(公曆) 和 陰曆(農曆) 之分。每年都有法定節假日,這些分成三類—雙休、陽曆節假日、陰曆節假日。

雙休1)週六和週日 2 天

陽曆節假日

1)元旦:陽曆每年 1 月 1 日,放假 1 天

2)勞動節:陽曆每年 5 月 1 日,放假 1 天

3)國慶節:陽曆每年 10 月 1 日,放假 3 天

4)聖誕節:陽曆每年 12 月 25 日,放假 1 天

陰曆節假日

1)春節:陰曆每年 1 月 1 日,放假 3 天

2)清明節:陽曆每年 4 月 4 - 6 日之間的某天,放假 1 天

3)端午節:陰曆每年 5 月 5 日,放假 1 天

4)中秋節:陰曆每年 8 月 15 日, 放假 1 天

當節假日和雙休重合時,雙休 不延後 也 不提前,保證節假日之間不會重合。現在給你某年的所有陰曆節假日的 陽曆 日期,以及當年的 1 月 1 日是星期幾,請你計算出這一年(陽曆 1 月 1 日到 12 月 31 日)放了多少天假(包括雙休、陽曆節假日和陰曆節假日)。

第一行輸入年份 y(1900接下來 4 行,每行輸入兩個整數,m,d, 分別表示春節、清明節、端午節和中秋節的陽曆日期。

最後一行乙個整數表示當年 1 月 1 號是星期幾(一周內的第幾天,每週從星期一開始計數,即星期一為第一天)。

輸出乙個整數,表示當年放假的天數。

樣例輸入

2017

1 28

4 45 30

10 4

7

樣例輸出

113
#include#include#include#include#include#includeusing namespace std;

const int maxn=10010;

const int n=10;

int day=;

int mm[10]=;

int dd[10]=;

bool isleap(int y)

void nextday(int &m,int &d,int &w)

w++; if(w==8) w=1;}

int main()

else if(f)

else if(w==6||w==7) ans++;

else

nextday(m,d,w); }

printf("%d\n",ans);

return 0;

}

#include#include#include#include#include#includeusing namespace std;

const int maxn=10010;

const int n=10;

int day=;

int mm[12]= ;

int dd[12]= ;

bool isleap(int y)

void nextday(int &m,int &d,int &w)

w++;

if(w==8) w=1;

}void springfestival(int a,int b)

mm[10]=a; dd[10]=b;

b++;

if(b==day[a]+1)

mm[11]=a; dd[11]=b;

}int main()

nextday(m,d,w);

} printf("%d\n",ans);

return 0;

}

字串與日期互轉

1.mysql日期和字元相互轉換方法 date format date,y m d oracle中的to char str to date date,y m d oracle中的to date y 代表4位的年份 y 代表2為的年份 m 代表月,格式為 01 12 c 代表月,格式為 1 12 d ...

獲取截止日期,包括對節假日 補班 雙休的處理

話說月光族的小明申請辦了一張信用卡,銀行規定,在受理成功後10個工作日 假設正常雙休不上班 之後將可領取信用卡。tags 小明的本次辦卡業務將在那天完成?分析需求 根據受理日期,由10個工作日這個限制條件,計算出截止日期即可,其中需要對正常雙休,國家法定節假日,補班等情況進行處理。解決方案 1 建立...

C 字串與日期格式

tostring用法 貨幣 2.5.tostring c 2.50 d 10進製數 25.tostring d5 25000 e 科學型 25000.tostring e 2.500000e 005 f 固定點 25.tostring f2 25.00 f?表示保持幾位小數 g 常規 2.5.tos...