使用 if 和 switch 语句编程,根据输入的年份判断是否为闰年,根据输入的月份判断这月有多少天。
#include<stdio.h>
int main() {
int year, month, ex;
printf("请输入年份及月份(空格分隔):");
scanf("%d %d", &year, &month);
if(month < 1 || month > 12) {
printf("输入有误!!");
} else {
if((year%4 == 0 && year%100 != 0) || year%400 == 0) {
ex = 1;
printf("%d年为闰年。\n", year);
} else {
ex = 0;
printf("%d年不为闰年。\n", year);
}
switch(month) {
case 4:
case 6:
case 9:
case 11:
printf("%d月有%d天。", month, 30);
break;
case 2:
printf("%d月有%d天。", month, 27+ex);
break;
default:
printf("%d月有%d天。", month, 31);
}
}
}
利用了switch的击穿,即没有break关键词会继续向下执行。