El lenguaje C calcula qué fecha es n días después de la fecha especificada y calcula el número de días en el año de la fecha especificada

No digas mucho, solo ve al código

#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;
}

Supongo que te gusta

Origin blog.csdn.net/zhuyin6553/article/details/88762421
Recomendado
Clasificación