输入月份和年份返回是一年的第几天

/*************************************************************************************
输入月份和年份返回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);
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

书灯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值