分析:
- 声明变量year,month,flat。year用来存放年号,month用来存放月份,flat用来判断是否为闰年,flat=1则为闰年,flat=0则非闰年。
- 从键盘输入年号。
- 判断输入的年号是否为闰年。每年的1,3,5,7,8,10,12有31天,4,6,9,11有30天,闰年的2月有29天,非闰年的2月有28天。
- 从键盘输入月份。利用switch进入多分支选择。
输入该月的天数
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int year, month, flat;
printf("请输入年份:");
scanf("%d", &year);//输入年份
if ((year % 4 == 0) && (year % 100 != 0))//判断是否为闰年,若是闰年则flat =1,若不是则flat=0;
flat = 1;
else
{
if (year % 400 == 0)
{
flat = 1;
printf("%d年是闰年\n", year);
}
else
{
flat = 0;
printf("%d年不是闰年\n", year);
}
}
printf("请输入月份:");
scanf("%d", &month);//输入月份
if (flat == 1)//闰年每月的天数
{
switch (month)
{
case 1:printf("1月份为31天"); break;
case 2:printf("2月份为29天"); break;
case 3:printf("3月份为31天"); break;
case 4:printf("4月份为30天"); break;
case 5:printf("5月份为31天"); break;
case 6:printf("6月份为30天"); break;
case 7:printf("7月份为31天"); break;
case 8:printf("8月份为31天"); break;
case 9:printf("9月份为30天"); break;
case 10:printf("10月份为31天"); break;
case 11:printf("11月份为30天"); break;
case 12:printf("12月份为31天"); break;
}
}
else//不是闰年每月的天数
{
switch (month)
{
case 1:printf("1月份为31天"); break;
case 2:printf("2月份为28天"); break;
case 3:printf("3月份为31天"); break;
case 4:printf("4月份为30天"); break;
case 5:printf("5月份为31天"); break;
case 6:printf("6月份为30天"); break;
case 7:printf("7月份为31天"); break;
case 8:printf("8月份为31天"); break;
case 9:printf("9月份为30天"); break;
case 10:printf("10月份为31天"); break;
case 11:printf("11月份为30天"); break;
case 12:printf("12月份为31天"); break;
}
}
return 0;
}
上述分别举了两个例子供参考。
欢迎大家对代码进行改进和完善。