Description
年龄是指一个人出生后以年为长度计算的时间整数值。
同理,日龄指一个人出生后以日为长度计算的时间整数值。
请求出给定日期出生的人,到2013年3月9日的日龄吧。
Input
一个日期,表示这个人的生日
输入日期一定在2013-3-9之前
Output
日龄
Sample Input
Sample Output
1
代码:
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int y,m,d,sum,dd,i,ddd,num;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int b[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
while(~scanf("%d-%d-%d",&y,&m,&d))
{
sum=dd=ddd=0;
if(y>=2013&&m>=3&&d>=9||y>2013)
break;
else
{
num = 0;
if(y==2013)
{
for(i=0; i<m; i++)
dd += a[i];
dd+=d;
num = 68-dd;
printf("%d\n",num);
}
else
{
num = 0;
for(i=0; i<m; i++)
{
if(y%4==0&&y%100!=0||y%400==0)
{
sum += b[i];
num = 366-sum;
}
else
{
sum += a[i];
num = 365-sum;
}
}
num -= d;
for(i=2012; i>y; i--)
{
if(i%4==0&&i%100!=0||i%400==0)
ddd+=366;
else
ddd+=365;
}
num+=ddd+68;
printf("%d\n",num);
}
}
}
return 0;
}