C语言
输入年和月返回这个月的天数。
//源程序
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int Is_leap(int year)
{
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int Get_YM_Day(int year, int month)
{
int day = 0;
if (year < 1) return -1;
if (month < 1 || month>12) return -2;
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("31\n");
break;
case 4:
case 6:
case 9:
case 11:
printf("30\n");
break;
default:
if (month = 2 && Is_leap(year))
printf("29\n");
else
printf("28\n");
break;
}
return day;
}
int main()
{
int year, month,day;
scanf("%d %d", &year, &month);
day = Get_YM_Day(year,month);
printf("%d\n",day);
return 0;
}