NYOJ【75】日期計算【某年某月某日是第幾天】
阿新 • • 發佈:2018-12-30
日期計算
時間限制:3000 ms | 記憶體限制:65535 KB 難度:1- 描述
- 如題,輸入一個日期,格式如:2010 10 24 ,判斷這一天是這一年中的第幾天。
- 輸入
- 第一行輸入一個數N(0<N<=100),表示有N組測試資料。後面的N行輸入多組輸入資料,每行的輸入資料都是一個按題目要求格式輸入的日期。
- 輸出
- 每組輸入資料的輸出佔一行,輸出判斷出的天數n
- 樣例輸入
-
3 2000 4 5 2001 5 4 2010 10 24
- 樣例輸出
-
96 124
297
-
解析:
-
首先判斷是否是閏年,定義一個數組儲存每個月的天數,計算的時候要注意只能計算到前一個月然後在加上當前月天數
-
程式如下:
-
#include<cstdio> int fun(int n) { if(n%4==0&&n%100!=0||n%400==0) return 1; return 0; } int main() { int t; scanf("%d",&t); while(t--) { int year,month,day; int sum=0; int ans[12]={31,28,31,30,31,30,31,31,30,31,30,31}; scanf("%d%d%d",&year,&month,&day); if(fun(year)) ans[1]=29; for(int i=0; i<month-1; i++) sum+=ans[i]; sum+=day; printf("%d\n",sum); } return 0; }