问题链接:。
时间限制: 1000 ms 空间限制: 262144 KB
题目描述
输入年份与月份,求该月共有多少天。
输入
输入两个空格隔开的正整数year和month,分别表示年份和月份。
输出
输出对应year这一年month这个月的天数。
样例输入
2000 2
样例输出
29
数据范围限制
1000<=year<=3000,1<=month<=12
问题分析
计算某月有多少天,如果问的是2月则需要知道该年是否为润年。其他则都是常识。
程序说明
程序中,把常年的每月天数放到数组中,便于计算。
编写了一个判定润年返回天数的函数leapyear(),是必要的。
要点详解- 查表法是一种值得推荐的方法,简化了程序逻辑,优点多多。
- 一种功能,通常将其封装到函数中,以便复用。
100分通过的程序:
#includeint days[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};// 闰年计算函数int leapyear(int year) { return ((year%4 == 0 && year%100 != 0) || year%400 == 0) ? 1 : 0;}int main(void){ int year, month; scanf("%d%d", &year, &month); days[1] += leapyear(year); printf("%d\n", days[month - 1]); return 0;}