判断年份是否为闰年,判断月份天数
选择1输入年份判断是否为闰年
选择2输入月份判断其天数
#include <stdio.h>
int Leap_year(int a) //判断年份是否是闰年是返回1否则0
{
return ((a % 4 == 0 && a % 100 != 0) || a % 400 == 0);
}
int Month_day(int year,int a)//判断对应年份月份的天数
{
int day = 28;
if(2 == a && !Leap_year(year))//判断需要判断的月份是否为2月并且年份是否为闰年
{
return day;
}
else if(2 == a && Leap_year(year))
{
return day+1;
}
else
{
if(a <= 7 && a > 0||a >= 8 && a <= 12)
{
if((a % 2 == 0 && a != 2 && a <=7)||(a % 2 != 0 && a >= 8))
{
return day+2;
}
else
{
return day+3;
}
}
else
{
return 2;
}
}
}
int main()
{
int a = 0;
printf("输入1判断年份是否是闰年\n");
printf("输入2判断月份的天数\n");
scanf("%d", &a);
switch (a) //根据输入判断年份还是月份的天数
{
case 1:
{
int year = 0;
printf("请输入年份!\n");
scanf("%d", &year);
if (Leap_year(year))
{
printf("%d是闰年!\n", year);
}
else
{
printf("%d不是闰年!\n", year);
}
break;
}
case 2:
{
int month = 0;
int year_month = 0;
printf("请输入年月!\n");
scanf("%d",&year_month);
scanf("%d",&month);
int n = Month_day(year_month,month);
if(28 <= n && 31 >= n)
{
printf("%d年%d月有%d天\n",year_month,month,n);
}
else
{
printf("对不起,您输入的年月有误!\n");
}
break;
}
default:
{
printf("对不起,您输入有误!\n");
}
}
return 0;
}