/*************************************************************************************
输入月份和年份返回day of year,就是一年的第几天。
将前几个月加起来,如果闰年,且大于2月份就再加1,在加上当月的天数,就是day of year.
**************************************************************************************/
#include <stdio.h>
int xbt_DayOfYear( int year, unsigned char month, unsigned char day )
{
int sum=0,flag;/*flag是判断是否是闰年的标志*/
switch(month) /*计算输入月份前N个月的总天数*/
{
case 1: sum=0;
break;
case 2: sum=31;
break;
case 3: sum=59;
break;
case 4: sum=90;
break;
case 5: sum=120;
break;
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 :
break;
}
sum=sum+day; /*计算总天数*/
if((year%400==0)||((year%4==0)&&(year%100!=0)))
flag=1;
else
flag=0;
if((flag==1)&&(month>2))
sum++;
return sum;
}
int main(int argc, char *argv[])
{
unsigned int year = 0, TheDay = 0;
unsigned char month = 0, day = 0;
printf("请输入年 月 日\r\n");
scanf("%d %d %d",&year,&month,&day);
TheDay = xbt_DayOfYear(year, month, day);
printf("%d%02d%02d is the %d day of %d year\n",year,month,day,TheDay,year);
}
输入月份和年份返回是一年的第几天
最新推荐文章于 2022-03-06 22:50:40 发布