输入某年某月某日,判断这一天是这一年的第几天?
第1行是一个整数n,表示随后有n组数据。每组数据占一行,包含3个整数year,month和day,以空格隔开。
对每组数据输出这一天是这一年的第几天,并换行。
输入 | 输出 |
3 2016 1 1 2016 3 1 2015 12 12 | 1 61 346 |
#include<stdio.h>
int main()
{
int year,month,day,n,s,w,i,v,d,b,p,k;
int A[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int B[12]={31,28,31,30,31,30,31,31,30,31,30,31};
w=0,k=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d %d %d",&year,&month,&day);
if(year>0)
{
d=year%100;
if(d!=0)
{
b=year%4;
if(b==0)
s=366;
else s=365;
}
else if(d==0)
{
b=year%400;
if(b==0)
s=366;
else s=365;
}
}
if(s==366)
{
for(v=0;v<=month-2;v++)
{
w=w+A[v];
}
printf("%d\n",w+day);
}
if(s==365)
{
for(p=0;p<=month-2;p++)
{
k=k+B[p];
}
printf("%d\n",k+day);
}
}
return 0;
}