黑马程序员技术交流社区

标题: 自己写的春夏秋冬季节的小程序 [打印本页]

作者: zppeng    时间: 2014-6-18 10:18
标题: 自己写的春夏秋冬季节的小程序
       小白零基础刚自学C语言,正在学习的路上,早上根据视频自己写的代码
>  输入一个整数month代表月份,根据月份输出对应的季节。
春季:345      夏季:678      秋季:91011        冬季:1212
代码如下:
#include <stdio.h>

int main()
{
    // 1.提示输入月份
    printf("请输入月份:\n");

       //2.接收输入月份
    int score;
    scanf("%d", & score);

       //3.判断季节
    if (score>=3 && score<=5)
    {
        printf("春季\n");
    }

    else if (score>=6 && score<=8)
    {
        printf("夏季\n");
    }

    else if (score>=9 && score<=11)
    {
        printf("秋季\n");
    }

    else
    {
        printf("冬季\n");
    }
      return 0;
}

各位大神,请问这个程序怎么进一步优化?



作者: zys456465111    时间: 2014-6-18 10:29
#include <stdio.h>

int main()
{
    // 1.提示输入月份
    printf("请输入月份:\n");
        
        //2.接收输入月份
    int score;
    scanf("%d", & score);
        
        //3.判断季节
        switch(score) {
        case 12:
        case 1:
        case 2:
                        printf("冬季\n");
                        break;
        case 3:
        case 4:
        case 5:
                        printf("春季\n");
                        break;
        case 6:
        case 7:
        case 8:
                        printf("夏季\n");
                        break;
        case 9:
        case 10:
        case 11:
                        printf("秋季\n");
                        break;
        default:
                        printf("请输入正确月份!\n");
                        break;
        }
        return 0;

}

由于switch的特性,只会取一次score的值进行判断,相比if的每次都取一次score做比较,在性能上会更高。
另:冬季不要直接在else里,如果用户输入大于12小于1的数应该提示错误。
自己的一点小建议





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2