问题 G: 第几天?
时间限制: 1 Sec 内存限制: 128 MB
提交: 1203 解决: 499
[提交][状态][讨论版]
题目描述
给定一个日期,输出这个日期是该年的第几天。
输入
输入测试数据的组数
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
输出
对于每组输入数据,输出一行,表示该日期是该年的第几天。
样例输入
样例输出
提示
#include<stdio.h>
int
main()
{
int
n,day,days,month,year,i,j;
scanf
(
"%d"
,&n);
//次数
for
(j=1;j<=n;j++)
{
int
a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
scanf
(
"%d/%d/%d"
,&year,&month,&day);
if
(((year%4==0)&&(year%100!=0))||year%400==0)//判断平润年
a[1]=29;
else
a[1]=28;
for
(i=0,days=0;i<month-1;i++)//注意,不加本月的年分
{
days+=a[i];
}
days=day+days;
printf
(
"%d\n"
,days);
}
}