本题要求实现一个简单函数,能计算给定的年份和月份的天数。使得可以利用该函数,输出给定年份中每个月的天数。其中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); 1
其中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; } /* 你的代码将被嵌在这里 */ 123456789101112131415161718
输入样例1:
2000 1
输出样例1:
31 29 31 30 31 30 31 31 30 31 30 31 1
输入样例2:
2001 1
输出样例2:
31 28 31 30 31 30 31 31 30 31 30 31 1
int MonthDays(int year, int month) { switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31; case 2: if(year%400==0||(year%4==0&&year%100!=0)) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; } } 123456789101112131415161718192021222324