不会敲,大神求带???
以5月1日为例,应该先把前4个月的天数加起来,然后再加上1天即本年的第几天。
特殊情况:
在计算闰年的时候,2月是29天。
以5月1日为例,应该先把前4个月的天数加起来,然后再加上1天即本年的第几天。
特殊情况:
在计算闰年的时候,2月是29天。
2017-03-02
#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int year = 2017;
int month = 3;
int day = 2;
int sum;
switch(month)
{
case 1:sum=0;break;
case 2:sum=31; break;//1月31天
case 3:sum=59;break;//假设2月28天
case 4:sum=90;break;
case 5:sum=120;break;//4月30天以此类推
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243; break;
case 10:sum=273; break;
case 11:sum=304; break;
case 12:sum=334;break;
default:printf("输入无效");break;
}
sum+=day;//第几天
if(month>2)//月份超过两个月需考虑2月特殊情况
{
if(year%400==0||(year%4==0&&year%100!=0))//判断今年是否为闰年
{
++sum;//闰年就多加一天
}
else
{ sum;}
}
else//如果月份小于2个月 不需考虑
{sum;}
printf("%d年%d月%d日是该年的第%d天\n",year,month,day,sum);
return 0;
}
举报