问题描述:
KiKi想获得某年某月有多少天,请帮他编程实现。输入年份和月份,计算这一年这个月有多少天。
输入描述:
多组输入,一行有两个整数,分别表示年份和月份,用空格分隔。
输出描述:
针对每组输入,输出为一行,一个整数,表示这一年这个月有多少天。
示例1:输入:2008 2
输出:29
解题思路:
在这里我们使用嵌套的if...else语句来完成整个代码,首先我们需要知道如何判断闰年。
年份year是闰年必须满足下列两个条件之一:
(1)能被4整除,但不能被100整除;
(2)能被400整除;
如果为闰年,2月则有29天,如果非闰年,2月则有28天。
代码解析:
#include <stdio.h>
int main()
{
int year, month;
int day = 0;
while (scanf("%d %d", &year, &month) != EOF)
{
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
{
if (month == 4 || month == 6 || month == 9 || month == 11)
{
printf("30");
printf("\n");
}
else if (month == 2)
{
printf("29");
printf("\n");
}
else
{
printf("31");
printf("\n");
}
}
else
{
if (month == 4 || month == 6 || month == 9 || month == 11)
{
printf("30");
printf("\n");
}
else if (month == 2)
{
printf("28");
printf("\n");
}
else
{
printf("31");
printf("\n");
}
}
}
return 0;
}
通过该代码我们可以得到多组月份天数数据。