C语言计算指定日期后n天是什么日期和计算指定日期在一年中的天数

话不多说 直接上代码

#include<stdio.h>
#include<stdlib.h>
 
int main()
{
   int year,month,day;
   int leapyear=0;
   int daytime=0;
   int sum;
   int index=0;
   static int month_date[12]={31,28,31,30,31,30,31,31,30,31,30,31};
   printf("请输入日期:");
   scanf("%d-%d-%d",&year,&month,&day);
   printf("请输入天数:");
   scanf("%d",&daytime);
   sum=daytime+day;
	if(month==2)
	   	{	
	   		if(year%400==0||(year%100!=0&&year%4==0))
			{
				leapyear=1;
				month_date[month-1]+=leapyear;//如果是闰年则2月加一天
			}
			else
			{
				month_date[month-1] = 28;//如果不是闰年,则二月置为28天
			}
	   		printf("%d年的二月份是:%d天\n",year,month_date[month-1]);
	   	}
  	for(int i=0;i<month;i++ ){
	  	index +=month_date[month-1];
	  }
	  index +=day;//计算天数 
 	printf("该日期是第%d天\n",index);
 	
   do
   {	
	   	if(month==2)
	   	{	
	   		if(year%400==0||(year%100!=0&&year%4==0))
			{
				leapyear=1;
				month_date[month-1]+=leapyear;
			}
			else
			{
				month_date[month-1] = 28;
			}
	   		printf("%d年的二月份是:%d天\n",year,month_date[month-1]);
	   	}
	   	if(sum>month_date[month-1])
	   	{
	   		sum-=month_date[month-1];
	   		month++;
	   		if(month==13)
	   		{
	   			year++;
	   			month=1;
	   		}
	   	}
   } while(sum>month_date[month-1]);
   day=sum;
   printf("\n第%d天后是%d-%d-%d",daytime,year,month,day);
   return 0;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值