题目:
根据历法,凡是1、3、5、7、8、10、12月,每月31天;凡4、6、9、11月,每月30天;2月闰年29天,平年28天。 闰年判断方法是: 如果年号能被400整除,此年为闰年 如果年号能被4整除,而不能被100整除,此年为闰年; 否则不是闰年。 程序输入年、月,输出该月的天数。如果月份不为1~12之间的数字则转换为正确的月份,如13对应1月,不考虑月份为负数的情况。 例如: 输入:1992 3 输出:days:31 输入:2001 14 输出:days:28
代码:
#include<iostream>
#include<iomanip>
using namespace std;
bool is_year(int n){
if(n%400==0||(n%4==0&&n%100!=0)){
return true;
}
return false;
}
void print_days(int y,int m){
m%=12;
switch(m){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
cout<<"days:31";
break;
case 2:
if(is_year(y)){
cout<<"days:29";
}
else{
cout<<"days:28";
}
default:
cout<<"days:30";
}
}
int main(){
int y,m;
cin>>y>>m;
print_days(y, m);
return 0;
}