switch
分支语句
多适用于明确表达式结果的情况,多个分支,用if过于繁琐。
case
后跟具体的表达式值,break
;跳出分支语句。
#include <stdio.h>
#include <math.h>
/* 功能:选择结构(switch) 求月份天数
时间:2024年10月
地点:贤者楼129
作者:LChen
*/
int main() {
int Year,Month,Day;
scanf("%d%d",&Year,&Month);
//switch多情况判断
switch (Month){ //switch (表达式)
case 1: //只能是整型、字符型、枚举型
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: //一三五七八十腊,三十一天永不差
Day=31;break; //遇到break结束switch
case 2: //闰年2月与平年2月分别考虑
if (!Year%400 || !(Year%4 && Year%100))
Day=29;
else
Day = 28;
break;
default: Day=30; //默认值30天
}
printf("%d.%d有%d天\n",Year,Month,Day);
return 0;
}