第几天
有一本记录了从1年到9999年的日历,
假设1年1月1日为第一天,现在问第Y年的第M月的第D天是第几天。
对于每组数据,输出这是第几天。
输入样例
2 1 1 1 2 2 2
输出样例
1 398
代码如下
#include<stdio.h>
int ping[13]={0,0,31,59,90,120,151,181,212,243,273,304,334};
int run[13]={0,0,31,60,91,121,152,182,213,244,274,305,335};
int runpan(int a)
{
if(a%400==0||(a%4==0&&a%100!=0))
return 1;
else return 0;
}
int yuepan(int month,int year,int day)
{
int sum=0;
if(runpan(year))
sum=run[month]+day;
else
sum=ping[month]+day;
return sum;
}
main()
{
int n,i,j,k,yu1,duo1;
int nian1,nian2,yue1,yue2,r1,r2;
int sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
sum=0;
scanf("%d %d %d",&nian1,&yue1,&r1);
for(j=1;j<nian1;j++)
{
if(runpan(j))
sum+=366;
else
sum+=365;
}
sum+=yuepan(yue1,nian1,r1);
printf("%d\n",sum);
}
}