分析:
月份天数可以使用闰年平年判断然后打表输出,也可以使用口诀一三五七八十腊再输出。
题解:
#include <bits/stdc++.h>
using namespace std;
int main() {
int year = 0, month = 0;
//设置好闰年和平年的每个月的天数
int normal[] = {31,28,31,30,31,30,31,31,30,31,30,31};
int gap[] = {31,29,31,30,31,30,31,31,30,31,30,31};
//循环读入年月
while(scanf("%d %d", &year, &month) != EOF) {
//判断是否为闰年,分别通过上述的数组中查询月份的天数
if(year % 4 == 0 || (year % 4 == 0 && year % 100 != 0)) {
printf("%d\n", gap[month-1]);
} else {
printf("%d\n", normal[month-1]);
}
}
return 0;
}题解2:
#include <bits/stdc++.h>
using namespace std;
int main() {
int year = 0, month = 0;
//循环输入年月
while(scanf("%d %d", &year, &month) != EOF) {
//闰年的判断
if(year % 4 == 0 || (year % 4 == 0 && year % 100 != 0)) {
if(month == 2) { //如果是特殊月份
printf("29\n");
continue;
}
}
if(month == 2)
printf("28\n");
else if(month == 1 || month == 3 || month == 5 || month == 7
|| month == 8 || month == 10 || month == 12) //在if语句中判断31天的月份
printf("31\n");
else //其余皆为30天的月份
printf("30\n");
}
return 0;
}总结:
if else 的嵌套使用,以及判断闰年平年的方法。

京公网安备 11010502036488号