【YM】C语言——if判断语句改写成switch语句

H3C笔试的一个题,大概意思就是把if判断语句改写成switch语句,不过if判断的是一个范围。具体数字记不太清了。例如x<5;5<=x<10;x>=10

int x,y;
scanf("%d",&x);
if(x<5) {
    y=x;
    printf("x=%d, y=x %d\n",x,y);
} else if(x<10) {
    y=2*x-1;
    printf("x=%d, y=2*x-1 %d\n",x,y);
} else {
    y=3*x-11;
    printf("x=%d, y=3*x-11 %d\n",x,y);
}

改写switch语句:

#include <stdio.h>
int main(void) {
    int x, y;
    int c;
    scanf("%d", &x);
    c=(x<5)*1+(x>=5&&x<10)*2+(x>=10)*3;
    switch(c) {
    case 1:
        y = x;
        printf("x=%d, y=x = %d\n",x,y);
        break;
    case 2:
        y = 2*x-1;
        printf("x=%d, y=2*x-1 = %d\n",x,y);
        break;
    case 3:
        y = 3*x-11;
        printf("x=%d, y=3*x-11 = %d\n",x,y);
        break;
    }
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 顺序语句 语句:使用分号分隔的代码称作为一个语句。 注意:没有写任何代码只是一个分号的时候,也是一条语句,...
    哈哈哎呦喂阅读 3,056评论 0 0
  • 这个是初始版本,还会进行改正和补充,请大家认真熟悉这些基础知识!如有错误,请在评论区留言@作者 总体上必须清楚的:...
    亦一银河阅读 7,257评论 3 40
  • 作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。转载请注明出处。原文:https://www.ji...
    程序员联盟阅读 8,584评论 3 29
  • 1000字,有时候看起来小菜一碟,有时候就像便秘一样“屎”都拉不出来。 之前在简书上看到一个人写的文章,忘了什么名...
    正弦人生阅读 3,582评论 5 2
  • 我有两个“职业”,一个是自己的本职工作,还有我是一位母亲。 我本职工作是财务,工作的性质让我做事过分的...
    晓红记录库阅读 1,586评论 0 0