#include<stdio.h>
#include<stdlib.h>
#include<math.h>
typedef struct
{
int year,month,day;
} Data;
void Datatime(Data &d,int longtime)
{
int T;
while(longtime>0)
{
if(d.month==2)
{
if(d.year%4==0 && d.year%100!=0 || d.year%100==0 && d.year%400==0)
{
T=29-d.day;
}
else
{
T=28-d.day;
}
}
else if(d.month==4||d.month==6||d.month==9||d.month==11)
{
T=30-d.day;
}
else
{
T=31-d.day;
}
if(longtime>T)
{
longtime-=T+1;
d.month++;
d.day=1;
}
else
{
d.day+=longtime;
longtime=0;
}
if(d.month>12)
{
d.month-=12;
d.year++;
}
}
}
int main()
{
int m;
int longtime;
Data d;
scanf("%d",&m);
for(int i=0; i<m; i++)
{
scanf("%d%d%d",&d.year,&d.month,&d.day);
scanf("%d",&longtime);
Datatime(d,longtime);
if(d.day<10)
{
if(d.month<10)
{
printf("%d-%02d-%02d\n",d.year,d.month,d.day);
}
else
{
printf("%d-%d-%02d\n",d.year,d.month,d.day);
}
}
else
{
if(d.month<10)
{
printf("%d-%02d-%d\n",d.year,d.month,d.day);
}
else
{
printf("%d-%d-%d\n",d.year,d.month,d.day);
}
}
}
return 0;
}
计算某一天是对应年的第几天,这一年一共多少天;计算两个日期之间相隔的天数。两个日期由键盘输入。
这里这里看这里