C语言编写 输入 年 月 日 ,输出这个日期的下一天的日期

 我来答
kaixingui2012
2012-03-25 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6381万
展开全部
利用C标准函数time,localtime,mktime来实现
先将输入的年月日放到tm结构中
用mktime()函数生成一个整数
用这个整数+86400(24*60*60)
然后再转换成日期就OK了
追问
可以具体点吗?我还没学函数呢
追答
那你就用复杂一点的写法吧,
输入日期后,检查年是否是闰年,月是否是2月,注意闰年2月最大天数是29,平年28,其他月是30,31

先将日期加1
然后判断是否超出了当前月的最大天数
如果未超过,你很幸运,直接输出就好了!!

如果超过了,则日期=1,月+1
检查月是否超过了12
未超过,你很幸运,直接输出就好了!!

如果超过了,则月=1,年+1
输出结果!
给你思路,自己去写吧
145飞雪090
推荐于2017-09-17 · TA获得超过621个赞
知道小有建树答主
回答量:282
采纳率:100%
帮助的人:156万
展开全部
原创,经过VC编译可以运行。
#include <stdio.h>
main()
{ int year,month,day,flag=0;
m:
printf("Please input year month day:");
scanf("%d%d%d",&year,&month,&day);
if((year%4==0&&year%100!=0)||year%400==0)
flag=1;
if(month==2)
{ if((day==28&&flag==0)||(day==29&&flag==1))
{ day=1;
month++;
}
else if(day==29&&flag==0)
{ printf("There is not 29th February!\n",year);
goto m;
}
else day++;
}
else if(month==12)
{ if(day==31)
{ day=1;
month=1;
year++;
}
else day++;
}
else if(month==1||month==3||month==5||month==7||month==8||month==10)
{ if(day==31)
{ day=1;
month++;
}
else day++;
}
else
{ if(day==30)
{ day=1;
month++;
}
else day++;
}
printf("the next day is %4d %4d %4d\n",year,month,day);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式