全部问题 > 当前问题

关于只限定if和switch类型的编程,下列程序可不可以化简?怎样化简?

题目是:输入年份月份,考虑闰年(闰年2月多一天,即有29天),输出该月份的天数

#include<stdio.h>

main()

{

int year,m,days;

printf("请输入年份、月份:");

scanf("%d %d",&year,&m);

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

{

 printf("闰年\n");

 switch(m)

 {

   case 2:

days=29;break;

case 4: case 6: case 9: case 11: 

days=30;break;

default:

days=31;break;

 }

 printf("%d天\n",days);

 }

else

{

printf("不是闰年\n");

switch(m)

  {

   case 2:

days=29;break;

case 4: case 6: case 9: case 11: 

days=30;break;

default:

days=31;break;

  }

  printf("%d天\n",days);

}

}


焦岚 2019-8-6 01:44:51

共 2 个回答

【C语言】桦桦 2019-8-6 12:01:39

不用再化简了,挺好的,有一个问题,闰年平年2月都是29天吗

焦岚 2019-8-9 01:39:58

回复 【C语言】桦桦:谢谢指点