【问题描述】:从键盘输入年份和月份,显示这个月的天数。例如:输入1997 1,则显示“1997年1月份共31天!”。
【问题求解】:首先我们要判断输入的是不是闰年,如果是闰年则2月份28天,否则2月份29天,其他月份闰年和非闰年都一样。这里列出判断闰年的方法:
① 该年份能被 4 整除同时不能被 100 整除;
② 该年份能被400整除。
接下来上代码:
#include<stdio.h>
int main()
{
int year,month,leap=0;
scanf("%d%d",&year,&month);
if((year%4==0&&year%100)||year%400==0)
{
leap=1;
}
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:printf("%d年%d月份共%d天!",year,month,31);break;
case 2:
if(leap)
{
printf("%d年%d月份共%d天!",year,month,28);
break;
}
else
{
printf("%d年%d月份共%d天!",year,month,29);
break;
}
case 4:
case 6:
case 9:
case 11:printf("%d年%d月份共%d天!",year,month,30);break;
}
return 0;
}
这里用到了switch-case语句,因为闰年和非闰年只有2月份不同,所以只需要在case 2:后面加一个判断是否输入的是闰年就行了。
如有错误,请在评论区指正!