日期计算
时间限制:
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; }