输入年月,要求输出 这个月有多少天!
例如:输入 2017.1
输出 31
新人我写的:
#include <stdio.h>
#include <math.h>
int main ()
{
int year,mouth;
scanf("%d.%d",&year,&mouth);
if (year % 4 == 0)
{
if (year % 100 == 0)
{
switch (mouth)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("31");
break;
case 2:
printf("28");
break;
case 4:
case 6:
case 9:
case 11:
printf("30");
break;
default:
printf("输入错误,请重新输入年月 xxxx.x");
break;
}
}
else
{
switch (mouth)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("31");
break;
case 2:
printf("29");
break;
case 4:
case 6:
case 9:
case 11:
printf("30");
break;
default:
printf("输入错误,请重新输入年月 xxxx.x。");
break;
}
}
if (year % 400 == 0)
{
switch (mouth)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("31");
break;
case 2:
printf("29");
break;
case 4:
case 6:
case 9:
case 11:
printf("30");
break;
default:
printf("输入错误,请重新输入年月 xxxx.x。");
break;
}
}
else
{
switch (mouth)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("31");
break;
case 2:
printf("28");
break;
case 4:
case 6:
case 9:
case 11:
printf("30");
break;
default:
printf("输入错误,请重新输入年月 xxxx.x。");
break;
}
}
}
else
{
switch (mouth)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("31");
break;
case 2:
printf("28");
break;
case 4:
case 6:
case 9:
case 11:
printf("30");
break;
default:
printf("输入错误,请重新输入年月 xxxx.x。");
break;
}
}
return 0;
}
老手写的:
#include <stdio.h>
int main ()
{
int year,mouth;
scanf("%d.%d",&year,&mouth);
switch (mouth)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("31");
break;
case 2:
if ( year %4 == 0 && year % 100 != 0 || year % 400 ==0)
{
printf("29");
}
else
{
printf("28");
}
break;
case 4:
case 6:
case 9:
case 11:
printf("30");
break;
default:
printf("输入错误,请重新输入年月 xxxx.x");
break;
}
return 0;
由此可见 我还是需要努力学习的!!!