1737: 求日龄
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 176 Solved: 70
[ Submit][ Status][ Web Board]
Description
年龄是指一个人出生后以年为长度计算的时间整数值。
同理,日龄指一个人出生后以日为长度计算的时间整数值。
请求出给定日期出生的人,到2013年3月9日的日龄吧。
Input
一个日期,表示这个人的生日
输入日期一定在2013-3-9之前
Output
日龄
Sample Input
2013-3-8
Sample Output
1
#include<stdio.h>
int run(int n)
{
if(n%400==0||n%4==0&&n%100!=0)
return 1;
return 0;
}
int main()
{
int a,b,c,i;
char x,y;
int d1[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int d2[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
while(~scanf("%d%c%d%c%d",&a,&x,&b,&y,&c))
{
int sum,sum1;
sum=sum1=0;
if(a==2013)
{
if(b==3)
sum+=(9-c);
if(b==2)
sum+=(37-c);
if(b==1)
sum+=(68-c);
}
else
{
for(i=a;i<=2012;i++)
{
if(run(i)==1)
sum+=366;
else
sum+=365;
}
for(i=1;i<b;i++)
{
if(run(a)==1)
sum1+=d1[i];
else
sum1+=d2[i];
}
sum1=sum1+c;
sum=sum-sum1+68;
}
printf("%d\n",sum);
}
return 0;
}