这周老师给布置一这么一题:
编一个年历的程序,当给出年的时候,输出整年的日历,要求标明星期一至日;当给出某年某月时,输出某年某月的日历,也要求标明星期一至日。
请问我该如何着手?我们这周学的是if...else...if,while,do...while,for,switch等语法。还没学函数。
这周老师给布置一这么一题:
编一个年历的程序,当给出年的时候,输出整年的日历,要求标明星期一至日;当给出某年某月时,输出某年某月的日历,也要求标明星期一至日。
请问我该如何着手?我们这周学的是if...else...if,while,do...while,for,switch等语法。还没学函数。
thank kai,可你用的头文件,我们还没学到,对于如何判断年月,我已经写出代码了,我现在的难题是关于日历的排序,怎么才能确定最后输入的日历是正确的?你的程序中这部分我没看懂。
哦,我按你的思路分析一下,然后再看看自己还有什么问题需要请教的。
谢谢kai
这题我已经求出来了,所以老师才让我们更进一步,出了这题
#include <stdio.h> void main() { int year,month; printf("输入一个年份:\n"); scanf("%d",&year); if (100<year && year<9999) { if(year%4==0) printf("这是闰年\n"); else printf("这是平年\n"); printf("输入一个月份:\n"); scanf("%d",&month); if (month>0 && month<13) { if (month==2) if(year%4==0) printf("本月为29 \n"); else printf("本月为28 \n"); if ((month>0 && month!=2) || month>2) if (month==1 || month==3 || month==5 || month==7 || month==8 || month==10 ||month==12) printf("本月为31 \n",month); else printf("本月为30 \n",month); } else printf("月份有误。\n"); } else printf("年份输入有误。\n"); }
这是我之前的作业。
我知道那样判断闰年不是正确的公式,可如果是这样
if (year%4==0 && year%100!=0 || year%400==0)
进行判断也不是完全正确,我不知怎么理解这个一直使用了这么久的公式,为什么也会出错。使用这个公式,输入2000年,得出的判断是2000年不是闰年。所以我才没改我的代码。
那一条语句是我们书本上的。
你的这个:bool isLeapYear是一个数组,还是一个函数或者变量?我一直没看明白。