【问题描述】
编写程序计算某年某月的天数。输入年份year和月份month,输出该月份的天数。
【输入形式】
两个数字,中间用空格隔开
【输出形式】
一个数字
【样例输入】
2012 2
【样例输出】
29
【样例说明】
2012年2月有29天
补充: 其实这个题目的说明并不是很严谨。还要加上:
如果年份为100的倍数,那么该年必须是400的倍数才是闰年。
如2000年是闰年,1900年不是闰年。
#include<iostream>
using namespace std;
int main()
{
int year,month;
cin>>year>>month;
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) cout<<31;
else if(month==4||month==6||month==9||month==11) cout<<30;
else
{
if(year%4!=0) cout<<28;
else
{
if(year%100==0&&year%400!=0) cout<<28;
else cout<<29;
}
}
}
当然,这道题还是可以用switch语句来实现。因为这道题很经典。
#include<iostream>
using namespace std;
int main()
{
int year,month;
cin>>year>>month;
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
cout<<31<<endl;
break;
case 4:
case 6:
case 9:
case 11:
cout<<30<<endl;
break;
default:
{
if(year%4!=0) cout<<28;
else if(year%100==0&&year%400!=0) cout<<28;
else cout<<29;
}
}
}