注册 登录
编程论坛 新人交流区

关于switch的问题

花剑 发布于 2007-11-01 17:39, 360 次点击
题目中n=500;p≤1000则结果是500;1000<p≤2000则p*0.1+n……….要用switch来做
我这样做的
switch((int)(p/1000))
{ case 0:printf("%d",n);break;
case 1:printf("%.2f",p*0.1+n);break;
.
.
.
}
运行后,输入1000(p的值)发现结果是600,结果应该是500才对啊,看来switch中(int)(p/1000)是错误的,请问switch我该怎么输呢?
4 回复
#2
yfcnic2007-11-01 18:07
如果p是整数,就除以1001好了,应该不会有错吧
#3
wx683025472007-11-01 18:35

正确的是
switch(p/1001)
{ case 0:printf("%d",n);break;
case 1:printf("%.2f",p*0.1+n);break;
}
这样不是就可以拉

#4
daocaoman2007-11-01 19:23
switch(p/1001)
{ case 0:printf("%d",n);break;
case 1:printf("%.2f",p*0.1+n);break;
}
#5
花剑2007-11-01 22:05

原来这么简单,谢谢各位了

1