判断某年某月的天数
问题:输入年份和月份,返回该月份的天数
我们都知道1月31天,2月28天或者29天,3月31天,4月30天,5月31天,6月30天,7月30天,8月31天,9月30天,10月31天,11月30天,12月30天,5月31天。
这其中只有二月是不确定的,是需要判断是否是闰年,来确定,闰年二月就是29天,反之28天
闰年的规则:年份满足能够整除4并且不能够整除100,还有能够整除400,这样的年份就是闰年
了解了规则后,我们来看看代码
#include<stdio.h>
int main()
{
int y=0;
int x=0;
int count=0;
int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//为了让数组下标,和月份一致,所以初始化了13个数
printf("请输入年份和月份\n");
while(scanf("%d %d",&y,&x)!=EOF)//可以一直输入
{
if(count!=0)
{
printf("请输入年份和月份\n");
}
count++;
int day=days[x];
if(((y%4==0&&y%100!=0)||y%400==0)&&x==2)
{
day++;
}
printf("%d年%d月有%d天\n",y,x,day);
}
return 0;
}
还没有评论,来说两句吧...