Description
年龄是指一个人出生后以年为长度计算的时间整数值。
同理,日龄指一个人出生后以日为长度计算的时间整数值。
请求出给定日期出生的人,到2013年3月9日的日龄吧。
Input
一个日期,表示这个人的生日
输入日期一定在2013-3-9之前
Output
日龄
Sample Input
2013-3-8
Sample Output
1
#include<stdio.h>
int run(int year);
int main()
{
int year,month,day,i,j,sum=0;
int a[2][13]={
0,31,28,31,30,31,30,31,31,30,31,30,31,
0,31,29,31,30,31,30,31,31,30,31,30,31
};
scanf("%d-%d-%d",&year,&month,&day);
if(year==2013)
{
if(month==3)
{
sum=9-day;
}
else
{
sum+=a[0][month]-day;
for(i=month+1;i<3;i++)
{
sum+=a[0][i];
}
sum+=9;
}
}
else //2012-02-04
{
sum=sum+a[run(year)][month]-day;//2012-02算完
for(i=year;i<=2012;i++)//i=2012
{
for(j=month+1;j<=12;j++)
{
sum+=a[run(i)][j];
}
month=0;//28+4
}
sum+=9+31+28;
}
printf("%d\n",sum);
}
int run(int year)
{
int ret;
if(year%4==0||(year%400==0&&year%100!=0))
{
ret=1;
}
else
{
ret=0;
}
return ret;
}