輸入年月日,計算該日期是當年的第幾天。輸入第一行為測試用例數 n,隨後 n 行各包含年、月、日三個整數。保證輸入日期合法。
#include <stdio.h>
int checkyear(int year);
int main() {
int i, flag, num, year, month, day, sum;
int array[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
scanf("%d", &num);
while (num--) {
scanf("%d %d %d", &year, &month, &day);
sum = 0;
flag = checkyear(year);
for (i = 0; i < month; i++) {
sum += array[i];
}
sum += day;
if (flag && month > 2) sum++;
printf("%d", sum);
if (num > 0) printf("\n");
}
return 0;
}
int checkyear(int year) {
int flag = 0;
if ((year % 400 == 0) || (year % 100 != 0 && year % 4 == 0))
flag = 1;
return flag;
}
輸入:
2 2009 1 1 2008 1 3
輸出:
1 3
2009 年非閏年,1月1日是第 1 天;2008 年閏年,1月3日是第 3 天。