输入一个年份和月份,打印出该月份有多少天(考虑闰年),用switch语句编程

如题所述

#include < <stdio.h>

main(

{

int year, month;

printf("Input year,month: ");

scanf("%d, %d", &year, &month);/*输入相应的年和月*/

switch (month)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

printf("31 days\n");

break; .

case 2:

if(vyear % 4== 0 && year % 100 != O)l(year % 400 == 0))

printf("29 days\n"); /*闰年的2月有 29天*/

}

else

{

printf("28 days\n");/*平年的2月有28天*/

break;

case 4:

case 6:

case 9:

case 11:

printf("30 daysln");

break;

default:

printf("Input error!\n");

}

}

扩展资料

switch语句用法注意事项:

switch 语句可以更方便地应用于多个分支的控制流程。C89 指明,一个 switch 语句最少可以支持 257 个 case 语句,而 C99 则要求至少支持 1023 个 case 语句。然而,在实际开发环境中,为了程序的可读性与执行效率,应该尽量减少 switch 语句中的 case 语句。

除此之外,switch 语句与 if 语句不同的是,switch 语句只能够测试是否相等,因此,case 语句后面只能是整型或字符型的常量或常量表达式;而在 if 语句中还能够测试关系与逻辑表达式。

不要忘记在 case 语句的结尾添加 break 语句。在 switch 语句中,每个 case 语句的结尾不要忘记添加 break 语句,否则将导致多个分支重叠。当然,除非有意使多个分支重叠,这样可以免去 break 语句。

温馨提示:答案为网友推荐,仅供参考
相似回答