CCF 1016. 计算天数
题目描述
输入年份与月份,求该月共有多少天。
输入
输入两个空格隔开的正整数year和month,分别表示年份和月份
输出
输出对应year这一年month这个月的天数。
样例输入
2000 2
样例输出
29
数据范围限制
1000<=year<=3000,1<=month<=12
**代码一**
#include <stdio.h>
int main()
{
int year;
int month;
scanf("%d%d",&year,&month);
switch(month)
{
case 1:{ printf("31"); break; }
case 2:
{
if ((year%4==0&&year%100!=0)||year%400==0) printf("29");
else printf("28");
break;
}
case 3:{ printf("31"); break; }
case 4:{ printf("30"); break; }
case 5:{ printf("31"); break; }
case 6:{ printf("30"); break; }
case 7:{ printf("31"); break; }
case 8:{ printf("31"); break; }
case 9:{ printf("30"); break; }
case 10:{ printf("31"); break; }
case 11:{ printf("30"); break; }
case 12:{ printf("31"); break; }
}
return 0;
}
**代码二**
#include <stdio.h>
int main()
{
int year,month;
scanf("%d%d",&year,&month);
switch(month)
{
case 1: case 3: case 5: case 7:
case 8: case 10: case 12:
{ printf("31"); break; }
case 4: case 6: case 9: case 11:
{ printf("30"); break; }
case 2:
{
if ((year%4==0&&year%100!=0)||year%400==0) printf("29");
else printf("28");
break;
}
}
return 0;
}
关于闰年的坑
普通年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年,1999年不是闰年)
世纪年:能被400整除的为世纪闰年。(如2000年是闰年,1900年不是闰年)