7-19 计算天数 (15分)

题目描述如下:

本题要求编写程序计算某年某月某日是该年中的第几天。

输入格式:

输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。

输出格式:

在一行输出日期是该年中的第几天。

输入样例1:

2009/03/02

输出样例1:

61

输入样例2:

2000/03/02

输出样例2:

62

代码如下:

#include<stdio.h>
int main()
{
   int y,m,d,n;
   scanf("%4d/%2d/%2d",&y,&m,&d);
   if((y%4==0&&y%100!=0)||(y%400==0))
   {
     switch(m)
     {
      case 1 :n=0;break;
      case 2 :n=31;break;
      case 3 :n=60;break;
      case 4 :n=91;break;
      case 5 :n=121;break;
      case 6 :n=152;break;
      case 7 :n=182;break;
      case 8 :n=213;break;
      case 9 :n=244;break;
      case 10:n=274;break;
      case 11:n=305;break;
      case 12:n=335;break; 
     }
     n=n+d;
   }

   else
   {
     switch(m)
     {
      case 1 :n=0;break;
      case 2 :n=31;break;
      case 3 :n=59;break;
      case 4 :n=90;break;
      case 5 :n=120;break;
      case 6 :n=151;break;
      case 7 :n=181;break;
      case 8 :n=212;break;
      case 9 :n=243;break;
      case 10:n=273;break;
      case 11:n=304;break;
      case 12:n=334;break; 
     }
     n=n+d;
   }
   printf("%d\n",n);
}

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐