11.利用Switch输出某个月的最大天数
/*
在键盘上输入一个月分数,利用Switch来输出这个月的最大天数。
要求:
1.数据接收要正确
2.月份数必须在1-12之间
理解Switch:
1.如果有多个Case的结果是一样的话,那可以省略
前面所有的结果和break,只留最后一个结果和break
2.switch圆括内的表达式结果只能是整型或单字符型
3.如果有多个Case的结果是一样的话,也可以用default
来归纳成一句。
4.case后的情形值是不可以重复的
*/
#include "stdio.h"
void main()
{
int y,m,days;
int n;
n=0;
printf("请输入年份数:");
yy:n=scanf("%d",&y);
if(n!=1||y<1900)
{
printf("年份输入有误,请重输:");
fflush(stdin);
goto yy;
}
n=0;
printf("请输入月份数:");
mm:n=scanf("%d",&m);
if(n!=1||m<1||m>12)
{
printf("月份输入有误,请重输:");
fflush(stdin);
goto mm;
}
switch(y)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
days=31;break;
case 4:case 6:case 9:case 11:
days=30;break;
case 2:
if(y%4==0&&y%100!=0||y%400==0)
days=29;
else
days=28;
break;
}
printf("%d年%d月的最大天数是:%d天\n",y,m,days);
}