#include<stdio.h> //通过该函数判断是否是闰年并返回该年的天数int fun(int year){if(year%4==0&&year%100!=0 ||year%400==0)return 366;else return 365;}//先初始化定义平年的每一天的天数int months[]={31,28,31,30,31,30,31,31,30,31,30,31};void main(){int i,j,n,week;int sum=0;PRintf("请输入要查询的年份:"); //获取用户输入scanf("%d",&n); //通过循环统计在1-n-1年的总天数for(i=1;i<n;i++){sum+=fun(i);} //判断第n-1年最后一天是星期几?week=sum%7; //判断第n年是否是闰年,如果是修改二月份的天数if(fun(n)==366)months[1]=29; //数据已经准备完毕,开始打印输出for(i=0;i<12;i++){printf("/n ============= %d 月 ==============/n",i+1);printf(" 周一 周二 周三 周四 周五 周六 周日/n"); //先将每个月前面用空格打印不在本月的日期for(j=0;j<week;j++)printf(" ");//开始打印输出每个月的日历for(j=1;j<=months[i];j++){printf("%5d",j);week++; //判断是否已经是周日了,是就换行if(week%7==0)printf("/n");//修改当前是星期几week=week%7;}//每个月换行分隔printf("/n");}}
新闻热点
疑难解答