首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

帮小弟我看看代码错在那里,超级简单

2012-03-12 
帮我看看代码错在那里,超级简单本来我是想这样写一个代码1的,但是一直出错误结果就是写成了后面的代码2请

帮我看看代码错在那里,超级简单
本来我是想这样写一个代码1的,但是一直出错误结果就是写成了后面的代码2

请问一下我用switch结构写为什么出错?   错在那?   怎么让代码1   实现代码2的功能(也就是用switch结构写代码2的功能),   详细点,   我新人~~~


代码1

#include <stdio.h>
void   main()
{
int   x;
        float   a;
printf( "请输入购买了几件商品 ");
        scanf( "%d ",&x);
     
printf( "请输入购买商品的价格: ");
scanf( "%f ",&a);
switch(x)
{
        case   x <5:
        printf( "%.2lf\n不打折 ",a);
break;
case   5 <=x <10:
        printf( "%.2lf\n折扣1% ",a*0.01);
break;
        case   10 <=x <20:
        printf( "%.2lf\n不打折 ",a*0.02);
break;
        case   20 <=x <30:
        printf( "%.2lf\n不打折 ",a*0.04);
break;
        case   30 <=x:
        printf( "%.2lf\n不打折 ",a*0.06);
break;
       
  default:
printf( "你输入的不是个数 ");

}


}

---------------------------------------------
代码2

#include <stdio.h>
void   main()
{
int   x;
        float   a;
printf( "请输入购买了几件商品 ");
        scanf( "%d ",&x);
     
printf( "请输入购买商品的价格: ");
scanf( "%f ",&a);
if(x <5)
{
    printf( "商品不打折价(再去多买点撒):%.1f\n ",a);
}
else   if(5 <=x&&x <10)
{
    printf( "商品打0.01折价:%.1lf\n ",a-a*0.01);
}
else   if(10 <=x&&x <20)
{
    printf( "商品打0.02折价:%.1lf\n ",a-a*0.02);
}
else   if(20 <=x&&x <30)
{
    printf( "商品打0.04折价:%.1lf\n ",a-a*0.04);
}
else   if(30 <=x)
{
    printf( "商品打0.06折价:%.1lf\n ",a-a*0.06);
}


}

[解决办法]
没得case 10 <=x <20:这个写法。。
[解决办法]


楼主估计是随手写下去了,呵呵,改成
else if(5 <=x&&x <10)这种样子就ok了
[解决办法]
#include <stdio.h>
void main()
{
int x;
float a;
printf( "请输入购买了几件商品 ");
scanf( "%d ",&x);

printf( "请输入购买商品的价格: ");
scanf( "%f ",&a);
switch(x)
{
case x <5;
printf( "%.2lf\n不打折 ",a);
break;
case x <=10&&x> =5;
printf( "%.2lf\n折扣1% ",a*0.01);
break;
case x <=20&&x> =10;
printf( "%.2lf\n不打折 ",a*0.02);
break;
case x <=30&&x> =20;
printf( "%.2lf\n不打折 ",a*0.04);
break;
case 30 <=x;
printf( "%.2lf\n不打折 ",a*0.06);
break;

default:
printf( "你输入的不是个数 ");

}


}


case 10 <=x <20语法错误
还有请LZ注意冒号和分号的区别

热点排行