题目描述
KiKi想获得某年某月有多少天,请帮他编程实现。输入年份和月份,计算这一年这个月有多少天。
输入描述:
多组输入,一行有两个整数,分别表示年份和月份,用空格分隔。
输出描述:
针对每组输入,输出为一行,一个整数,表示这一年这个月有多少天。
示例1
输入
2008 2
输出
29
解法一
#include<iostream>
using namespace std;
int main ()
{
int year,month;
while(cin>>year>>month)
{
if(year%4==0&&month==2)
cout<<"29"<<endl;
else if(month==2)
cout<<"28"<<endl;
else if(month==1||month==3||month==5||month==7||month==10||month==12||month==8)
cout<<"31"<<endl;
else
cout<<"30"<<endl;
}
}
解法二
#include <bits/stdc++.h>
using namespace std;
int main() {
int year , month ;
//设置好闰年和平年的每个月的天数
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(cin>>year>>month) {
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;
}