一、闰年的定义
闰年:能被4整除且不能被100整除,或者能被400整除。
闰年的特殊性:闰年的2月有29天,不是闰年2月只有28天。闰年一年有366天,不是闰年一年只有365天。
那么在C语言中如何实现判断能否被整除呢?这需要了解%(读作模)的作用。%的作用是求余数,我们用例子来解释一下:
5%2=1,这里的1就是5除2的余数。
二、程序实现
代码如下(示例):
#include <stdio.h>
int main()
{
int month = 0;
int year = 0;
while (1)
{
printf("input year and month:>");
scanf("%d %d",&year,&month);
switch (month)
{
case 1:
printf("%d年%d月有31天\n", year,month);
break;
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
printf("%d年%d月有29天\n", year, month);
}
else
printf("%d年%d月有28天\n", year, month);
break;
case 3:
printf("%d年%d月有31天\n", year, month);
break;
case 4:
printf("%d年%d月有30天\n", year, month);
break;
case 5:
printf("%d年%d月有31天\n", year, month);
break;
case 6:
printf("%d年%d月有30天\n", year, month);
break;
case 7:
printf("%d年%d月有31天\n", year, month);
break;
case 8:
printf("%d年%d月有31天\n", year, month);
break;
case 9:
printf("%d年%d月有30天\n", year, month);
break;
case 10:
printf("%d年%d月有31天\n", year, month);
break;
case 11:
printf("%d年%d月有30天\n", year, month);
break;
case 12:
printf("%d年%d月有31天\n", year, month);
break;
default:
printf("输入的月份有误,请重新输入\n");
break;
}
}
return 0;
}
程序结果:
三、闰年判断
代码如下(示例):
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
printf("%d年%d月有29天\n", year, month);
}
else
printf("%d年%d月有28天\n", year, month);