| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1106 人关注过本帖
标题:switch多分支结构程序出了点小问题,问下
只看楼主 加入收藏
卐寒冬卍
Rank: 2
等 级:论坛游民
帖 子:80
专家分:17
注 册:2013-3-19
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:12 
switch多分支结构程序出了点小问题,问下
main()
 {
      int x,y;
      scanf("%d",&x);
      switch(x/10)
      {
      case 1:printf("y=1\n");break;
      case 2:printf("y=2\n");break;
      case 3:printf("y=3\n");break;
      case 4:printf("y=4\n");break;
      case 5:printf("y=5\n");break;
      default:printf("y=6\n");
      }
      printf("x=%d",x);
                    }
这个是如果小于20就输出y=1,如果小于30就输出2后面的我就不说了,问题出在case1了,如果输入10到19能输出y=1,输入小于10的就符合不了题意啊,这个该怎么解决了
搜索更多相关主题的帖子: default 
2013-05-02 21:41
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
case 0:啊


[fly]存在即是合理[/fly]
2013-05-02 22:03
卐寒冬卍
Rank: 2
等 级:论坛游民
帖 子:80
专家分:17
注 册:2013-3-19
收藏
得分:0 
回复 2楼 azzbcc
如果输入负数了?

学无先后,达者为师
2013-05-02 22:08
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
你把题意说清楚,,,


[fly]存在即是合理[/fly]
2013-05-02 22:11
qwe885167759
Rank: 4
等 级:业余侠客
威 望:5
帖 子:148
专家分:259
注 册:2013-3-12
收藏
得分:0 
当switch后面的表达式的值与某一个case后面的表达式的值相等时就执行此case后面的语句。不知道对你有没有帮助。


程序如下:
#include <stdio.h>
void main ()
{  
    int x,y;
    printf("please enter number:");
    scanf ("%d",&x);
    switch(x/10)
    {
    case -1:printf("去,扁他\n");break;
    case 0:printf("好吧,哥哥我服服的\n");break;
         case 3:printf("卧槽\n");break;
         default: printf("error\n");
    }
}

[ 本帖最后由 qwe885167759 于 2013-5-2 23:14 编辑 ]

我本楚狂人,凤歌笑孔丘
2013-05-02 22:45
卐寒冬卍
Rank: 2
等 级:论坛游民
帖 子:80
专家分:17
注 册:2013-3-19
收藏
得分:0 
回复 4楼 azzbcc
原题是如果输入小于20的数就等于y=1,如果输入20到30之间的数就等于y=2后面依次往下推,但是我程序就出在case 1上了,如果按照我写的case 1那条语句,负数属于小于20的数吧,如果我输入-3就等于不了y=1,我想让他输入小于20的数当然也包含负数就是让它等于y=1

学无先后,达者为师
2013-05-03 08:06
fanpengpeng
Rank: 8Rank: 8
来 自:南极洲
等 级:蝙蝠侠
威 望:7
帖 子:299
专家分:849
注 册:2013-2-1
收藏
得分:10 
这样行么?

switch (x<10? 1 : x/10) {
    ……
}

人生是一场错过 愿你别蹉跎
2013-05-03 08:32
zx970211484
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-10-24
收藏
得分:0 
main()
 {
       int x,y;
       scanf("%d",&x);
        if(x==10)
{
       printf("x=%d",1);
}else
{
       switch(x/10)
       {
       case 1:printf("y=1\n");break;
       case 2:printf("y=2\n");break;
       case 3:printf("y=3\n");break;
       case 4:printf("y=4\n");break;
       case 5:printf("y=5\n");break;
       default:printf("y=6\n");
       }
       printf("x=%d",x);
}
2013-05-03 15:32
justzhck
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-5-3
收藏
得分:0 
同意7楼的!
2013-05-03 15:54
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:0 
#include <stdio.h>
main()
{
      int x,y;
      scanf("%d",&x);
      switch((x>10 ? x/10 : 1))
      {
      case 1:printf("y=1\n");break;
      case 2:printf("y=2\n");break;
      case 3:printf("y=3\n");break;
      case 4:printf("y=4\n");break;
      case 5:printf("y=5\n");break;
      default:printf("y=6\n");
      }
      printf("x=%d",x);
 }

Maybe
2013-05-03 15:59
快速回复:switch多分支结构程序出了点小问题,问下
数据加载中...
 
   



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

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