C语言编程解答,VC上输出2008年每一个月的最后一个星期天的日期

来源:百度知道 编辑:UC知道 时间:2024/07/03 00:53:40

#include <stdio.h>

int main()
{
//查日历可知2008年1月最后一个周日为27日

int month[12] = {31,29,31,30,31,30,31,31,30,31,30,31};
//确定算法是:
//当月最后一个周日的日期 - 当月的天数 + 28 = 下月的一个周日的日期(有误差)

int day[12] = {27,0};
for(int i=0;i<11;i++)
{
day[i+1] = day[i] - month[i] + 28;

if( month[i+1] - day[i+1] >=7 ) //判断,当差距小于7时说明计算有误,应该添加上误差
{
day[i+1] =day[i+1] + 7;
}

}
for(int i=0;i<12;i++)
printf("2008年%d月最后一个星期日是%d日\n",i+1,day[i]);

return 0;
}
/*
2008年1月最后一个星期日是27日
2008年2月最后一个星期日是24日
2008年3月最后一个星期日是30日
2008年4月最后一个星期日是27日
2008年5月最后一个星期日是25日
2008年6月最后一个星期日是29日
2008年7月最后一个星期日是27日
2008年8月最后一个星期日是31日
2008年9月最后一个星期日是28日
2008年10月最后一个星期日是26日
2008年11月最后一个星期日是30日
2008年12月最后一个星期日是28日
请按任意键继续. . .

*/