| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 815 人关注过本帖
标题:又是关于简单的switch语句
只看楼主 加入收藏
摩登程序猿
Rank: 1
来 自:梦的小镇
等 级:新手上路
帖 子:41
专家分:4
注 册:2013-7-23
结帖率:90%
收藏
已结贴  问题点数:12 回复次数:7 
又是关于简单的switch语句
题目是这样的:
若a的值小于100,请讲一下选择结构改写成由switch语句构成的选择结构
if(a<30) m=1;
else if (a<40) m=2;
else if (a<50) m=3;
else if (a<60) m=4;
else m=5;
 以下是我用switch编的 感觉有点啰嗦 因为(a<30)还存在a 可能是 a<20,a<10.
程序代码:
#include <stdio.h>
void main()
{int a;

 printf("input a\n");

 scanf("%d\n",&a);

 printf("%d\n",a);

 switch(a/10)

 {case 0:printf("m=1");break;
  case 1:printf("m=1");break;
  case 2:printf("m=1");break;
  case 3:printf("m=2");break;
  case 4:printf("m=3");break;
  case 5:printf("m=4");break;
  default:printf("m=5");break;

 }

}



2013-08-09 19:25
XiaoXiao_Ren
Rank: 3Rank: 3
来 自:西安
等 级:论坛游侠
威 望:1
帖 子:80
专家分:198
注 册:2013-7-17
收藏
得分:6 
回复 楼主 摩登程序猿
printf("input a\n");
scanf("%d\n",&a);  //这里输入数据的时候没有控制作用  所以应该去掉 \n
printf("%d\n",a);
switch(a/10)
{case 0:
  case 1:
  case 2:printf("m=1");break;  //这样上面没处理就行了
  case 3:printf("m=2");break;
  case 4:printf("m=3");break;
  case 5:printf("m=4");break;
  default:printf("m=5");break;
}

}

[ 本帖最后由 XiaoXiao_Ren 于 2013-8-9 20:22 编辑 ]

否极泰来
2013-08-09 19:32
闻木思水
Rank: 2
等 级:论坛游民
帖 子:6
专家分:15
注 册:2013-8-9
收藏
得分:2 
#include <stdio.h>
void main()
{int a;
printf("input a\n");
scanf("%d",&a);
printf("%d\n",a);
if(a<0)
printf("m=1");
else
{
  switch(a/10)
  {
      case 0:
      case 1:
      case 2:printf("m=1");break;
      case 3:printf("m=2");break;
      case 4:printf("m=3");break;
      case 5:printf("m=4");break;
      default:printf("m=5");break;
  }
}
}
楼主有点小bugs,(*^__^*) 嘻嘻……
2013-08-09 20:19
摩登程序猿
Rank: 1
来 自:梦的小镇
等 级:新手上路
帖 子:41
专家分:4
注 册:2013-7-23
收藏
得分:0 
回复 2楼 XiaoXiao_Ren
我说呢 每次我输出scanf的时候喜欢\n 然后输得时候都得输两边。原来 case0 case1 可以不用写后面的东西啊

菜鸟出蛋------多多指教.我希望我能在这论坛先坚持三年,那证明我没忘记我的梦
2013-08-10 19:39
Rynax
Rank: 1
等 级:新手上路
帖 子:10
专家分:8
注 册:2013-8-8
收藏
得分:0 
是我眼拙了吗。。。题目里if里面是赋值语句吧。。。为啥从lz开始就变成printf了。。。
2013-08-10 21:10
liufashuai
Rank: 9Rank: 9Rank: 9
来 自:冥界-魔域-魂殿
等 级:蜘蛛侠
威 望:1
帖 子:370
专家分:1374
注 册:2012-6-22
收藏
得分:4 
程序代码:
#include <stdio.h>

void main()
{
    int a;
    printf("input a\n");
    scanf("%d\n",&a);
    printf("%d\n",a);

    switch(a/50)
    {
        case 0:
            switch(a/10)
            {
                case 0:
                case 1:
                case 2:
                    printf("m=1");
                    break;
                case 3:
                    printf("m=2");
                    break;
                case 4:
                    printf("m=3");
                    break;
                }
            break;
        case 1:
            switch(a/10)
            {
                case 5:
                    printf("m=4");
                    break;
                default:
                    printf("m=5");
                    break;
            }
            break;
    }

}

有一种落差是,你配不上自己的野心,也辜负了所受的苦难。






2013-08-10 23:54
格式化秘密
Rank: 2
等 级:论坛游民
帖 子:31
专家分:57
注 册:2013-8-13
收藏
得分:0 
楼上正解
2013-08-13 21:50
谢跃锋
Rank: 2
等 级:论坛游民
威 望:2
帖 子:50
专家分:77
注 册:2013-4-14
收藏
得分:0 
#include<stdio.h>
void main()
{
    int shu;
    scanf("%d\n",&shu);
   
    printf("请输入一个小于100的数\n");
        switch(shu/10)
    {
            case 1:
            case 2: printf("m=1\n");break;
            case 3: printf("m=2\n");break;
            case 4: printf("m=3\n");break;
            case 5: printf("m=4\n");break;
            default: printf("m=5\n");
                }
}
2013-08-14 08:45
快速回复:又是关于简单的switch语句
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013610 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved