通过题目可知,它是多组输入,多组输入一般采用循环来输入,循环输入可以是先输完,在做判断(我称之为"单工"),也可以在每组输入后进行判断(我称之为"双工"),这里采用双工的方式.
首先,这种跟闰年有挂钩的题目先把判断闰年的函数写出来
int leepyear(int a)
{
if((a%4==0&&a%100!=0) || a%400==0)
return 1;
else
return 0;
}
接着往下看,发现它要求每个月的天数,
那就把一年中12个月的天数分别写出来(因为这没有规律)
注:二月份可以不管!
int month[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
然后将多组输入的壳子套进去,再定义几个变量用来接收输入的年、月
int year ,i,day;
int month[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
while(~scanf("%d %d",&year,&i))
{
//xxx语句
}
再把闰年判断二月份天数等语句补全即可
完整代码
int leepyear(int a)
{
if((a%4==0&&a%100!=0) || a%400==0)
return 1;
else
return 0;
}
int main()
{
int year ,i,day;
int month[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
while(~scanf("%d %d",&year,&i))
{
if(leepyear(year))
month[1]=29;
else month[1]=28;
printf("%d\n",month[i-1]);
}
return 0;
}