用c语言写一个程序,输入年月日,把日期自动加一天,然后输入.

来源:百度知道 编辑:UC知道 时间:2024/05/23 22:58:17
这个程序要要判断是不是月底,而且这个月是30天还是31天,还有2月是28天还是29天,理不出个头绪,那为大虾能帮帮忙,明天就要上交作业了.
然后把结果输出,不是输入,问题提错.

这是阳历的常识:
阳历(即公历),是世界上多数国家通用的历法,由"儒略历"修订而成。儒略历

是公元前46年,古罗马统帅儒略、恺撒决定采用的历法。
阳历,是以地球绕太阳运动作为根据的历法。它以地球绕太阳一周(一回归年)为

一年。一回归年的长度是365.2422日,也就是365天5小时48分46秒,积累4年共有23小时

15分4秒,大约等于一天,所以每4年增加1天,加在2月的末尾,得366天,就是闰年。但

是4年加1天实际回归年多了44分56秒,积满128年左右就又多算了一天,也就是在400年中

约多算了3天。
阳历闰年规定:公元年数可用4整除的,就算闰年;为了要在400年减去多算的3天,

并规定公元世纪的整数,即公元年数是100的整数时,须用400来整除的才算闰年,如1600

年、2000年、2200年、2400年就是闰年。这样就巧妙地在400年中减去了3天,阳历规定每

年都是12个月,月份的大小完全是人为的规定,现在规定每年的1、3、5、7、8、10、12

月为大月,每月31天;4、6、9、11月为小月,每月30天;2月平年是28天,闰年是29天。

归纳上面的得出结论:
阳历:
闰年,2月29天,平年28天。
其它月,1、3、5、7、8、10、12为大月31天。
2、4、6、9、11为小月30天。
能被400整除的是闰年;
除能被100整除的不是闰年(能被400整除的除外)其余能被4整除的是闰年。

所以你只要计算是不是闰年,就可以识别2月份了,所以这个应该不是很难,关键

是闰年。
下面是我花了30分钟写的程序,我一直用C++,由于不知道C支不支持布尔型,所以两个判断的函数返回用整型。你看一下程序能不能运行。我在VC60下编译通过。

#include "stdio.h"
int IsLeapYear(