题目要求:2007年1月1日为星期一,编写一个函数,输出2007年任意月份的日历
这道题我是个人的做法,有个别地方可能有些绕。
#include<stdio.h>
int main()
{
int month,WEEKDAY,count,month_days,width;
int isWhatDay(int month); //声明计算的函数
printf("Please enter a month:\n");
scanf("%d",&month);
WEEKDAY = isWhatDay(month); //将函数返回值赋给WEEKDAY
printf("Calendar 2007 - %d\n",month);
printf("----------------------------\n");
printf(" Su Mo Tu We Th Fr Sa\n"); //空白处是两个空格
//下面是赋各个月份的天数
if(month == 1||month == 3||month == 5||month == 7||month ==8||month == 10||month == 12)
month_days = 31;
else if(month == 2)
month_days = 28;
else
month_days = 30;
width = 4 * WEEKDAY;
/*此处计算width可能一开始看不懂,实际上是为了打印空格,
空格不printf到第一天的前一位是因为下面输出是%4d,其前三位是空格了。*/
for(count = 1;count <= width;count++)
printf(" &