#include <stdio.h>
int main() 
{
	int y,m;
	while(scanf("%d%d",&y,&m)!=EOF)
	{
		if((y%4==0&&y%100!=0)||y%400==0)
		{
			switch(m)
			{
				case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf("31\n");break;
				case 2:printf("29\n");break;
				case 4:case 6:case 9:case 11:printf("30\n");break;
			}
		}
		else
		{
			switch(m)
			{
				case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf("31\n");break;
				case 2:printf("28\n");break;
				case 4:case 6:case 9:case 11:printf("30\n");break;
			}			
		}
	}
	return 0;
}

#include <stdio.h>

int main()

{

   int y = 0;

   int m = 0;

   int days[12] = {31,28,31,30,31,30,31,31,30,31,30,31};

   while(scanf("%d%d", &y, &m) != EOF)

  {

       int day = days[m-1];

       if((y%4==0 && y%100!=0) || (y%400==0))

      {

           if(m == 2)

               day += 1;

      }

       printf("%d\n", day);

  }

   return 0;

}

更简单的方法

比特就业课,