0
点赞
收藏
分享

微信扫一扫

1657: 求日龄


1657: 求日龄


时间限制: 1 Sec   内存限制: 128 MB

提交: 5  

解决: 3

提交][状态][讨论版]


题目描述


年龄是指一个人出生后以年为长度计算的时间整数值。

同理,日龄指一个人出生后以日为长度计算的时间整数值。

请求出给定日期出生的人,到2013年3月9日的日龄吧。


输入


一个日期,表示这个人的生日

输入日期一定在2013-3-9之前


输出


日龄


样例输入


2013-3-8


样例输出


1



#include<stdio.h>
#include<string.h>
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};
int main(){
 int y,m,d,sum,dd,ddd,num,i;
 while(scanf("%d-%d-%d",&y,&m,&d)!=EOF)
 {
  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;
}

举报

相关推荐

0 条评论