本题要求实现一个简单函数,能计算给定的年份和月份的天数。使得可以利用该函数,输出给定年份中每个月的天数。其中1、3、5、7、8、10、12月有31天,4、6、9、11月有30天,2月平年有28天,闰年有29天。判断闰年的条件是:能被 4 整除但不能被 100 整除,或者能被 400 整除。
函数接口定义:
int MonthDays(int year, int month);
其中year
和month
是用户传入的参数,如果1≤ month
≤12,该函数必须返回year
年month
月的天数。
裁判测试程序样例:
#include <stdio.h>
int MonthDays(int year, int month);
int main()
{
int ndays, month, year;
scanf("%d", &year);
for(month = 1; month <= 12; month++){
ndays = MonthDays(year, month);
printf("%d ", ndays);
}
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例1:
2000
结尾无空行
输出样例1:
31 29 31 30 31 30 31 31 30 31 30 31
结尾无空行
输入样例2:
2001
结尾无空行
输出样例2:
31 28 31 30 31 30 31 31 30 31 30 31
结尾无空行
int MonthDays(int year, int month)
{
int days;
switch(month)
{
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(year%4==0 && year%100!=0 || year%400==0)
{
days = 29;
}
else
{
days = 28;
}
break;
}
return days;
}