昨天·发了一篇用switch选择结构的解法,今天这篇是用数组的方法求解。
首先还是一样判断是否为闰年,就是月份的时候改用数组的形式。
int MonthDay(int year,int month)
{
int day;
int monthday[12]={31,28,31,30,31,30,31,31,30,31,30,31};
if(year>0)
{
if(month!=2)
day=monthday[month-1];
else if(month==2)
day=monthday[month-1]+IsLeapYear(year);
}
return day;
}
完整代码:
#include <stdio.h>
int IsLeapYear(int year);
int MonthDay(int year,int month);
int main()
{
int year,month;
scanf("%d %d",&year,&month);
printf("%d",MonthDay(year,month));
return 0;
}
int IsLeapYear(int year)
{
if(year%4==0&&year%100!=0||year%400==0)
return 1;
else
return 0;
}
int MonthDay(int year,int month)
{
int day;
int monthday[12]={31,28,31,30,31,30,31,31,30,31,30,31};
if(year>0)
{
if(month!=2)
day=monthday[month-1];
else if(month==2)
day=monthday[month-1]+IsLeapYear(year);
}
return day;
}