【悬赏】程序编写,输入年月日和一个天数,再输出年月日,c语言

要求:
输入一个年月日和一个天数(整数n)
然后用这个日期加上这个天数
最后输出这个日期是哪年哪月那日
(考虑闰年平年的因素,输入的天数没有限制)
求解 谢谢

#include <stdio.h>
int days[]={31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
int year , mon , day , num;
printf("input yyyy/mm/dd:");
scanf("%d/%d/%d" , &year , &mon , &day );
//请确保输入的数据是有效的日期,不然出错
//根据年份确定当年是否闰年
if ( (year%4==0 && year %100) || year %400==0 )
days[1]=29; //闰年二月29
else
days[1]=28;//平年二月28
printf( "input days:" );
scanf( "%d" , &num );
//目前只支持正数
day += num ;
while ( day > days[mon-1] ) //天数超过当前月最大天数,要过月
{
day -= days[mon-1] ;
mon += 1 ;
if ( mon > 12 ) //月满则变年
{
mon=1;
year += 1 ; //年变后,要重新确认下一年是否闰年
if ( (year%4==0 && year %100) || year %400==0 )
days[1]=29;
else
days[1]=28;
}
}
printf("new day:%d/%d/%d\n" , year , mon , day );
return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答