#include #include #include void Menu1() { printf("请输入一个数字来表示你要进行的操作:\n"); printf("1.让我看看这一年的日历(单行)\n"); printf("2.让我看看这一年的日历(双行)\n"); printf("3.让我看看这天是周几\n"); printf("4.让我看看这一年是不是闰年\n"); }//构建菜单 int main() { int menu, year; Menu1(); // 显示菜单 scanf("%d", &menu); if (menu == 1) { printf("让我看看这一年的日历(单行)\n"); printf("请输入年份:"); scanf("%d", &year); // 清除输入缓冲区中的换行符 while (getchar() != '\n'); if (year <= 0) { printf("您输入的年份有误!\n"); return 1; // 使用返回值表示错误 } } int runnian(int n)//记录闰年月份日期 { switch(n) { case 1:return 31; case 2:return 29; case 3:return 31; case 4:return 30; case 5:return 31; case 6:return 30; case 7:return 31; case 8:return 31; case 9:return 30; case 10:return 31; } } int pingnian(int year,int month)//记录平年月份日期 { if (year==1582&&month==10) { return 21;//1582年10月只有21天 } switch(month) { case 1:return 31; case 2:return 28; case 3:return 31; case 4:return 30; case 5:return 31; case 6:return 30; case 7:return 31; case 8:return 31; case 9:return 30; case 10:return 31; case 11:return 30; case 12:return 31; } } void run(int week)//闰年日历输出 { int n=0;//记录换行次数 int w=week; int i,j,k; for(i=1;i<=12;i++) { printf("%d月\n",i); printf("日 一 二 三 四 五 六\n") ; for(k=0;k0&&week<8);//利用循环得到某年某月某日的日期是周几 } if (menu == 4) { printf("4.让我看看这一年是不是闰年\n"); { int year,month,day; printf("请输入一个年份,判断该年是否为闰年"); if((year%4==0&&year%100!=0)||(year%400==0))//判断是闰年还是平年 {printf("是闰年");} else {printf("不是闰年");} } return 0; }