づ綄镁の爱ヽ 发表于 2012-4-9 09:26:49

求教 看下这段哪里出问题了。。

本帖最后由 番茄 于 2012-4-26 14:20 编辑

double w, s, d, f, p;
scanf("%lf %lf", &w, &s);
p = 1;
switch (s)
{
case s<250 : d = 0;
      break;
case 250<=s<500 : d = 2%;
      break;
case 500<=s<1000 : d = 5%;
      break;
case 1000<=s<2000 : d = 8%;
      break;
case 2000<=s<3000 : d = 10%;
      break;
case s>=3000 : d = 15%;
      break;
}
f = p * w * s * (1-d);
printf("f=%lf\n",f);

编译通不过,提示syntax error :';'
我看了好久 也检查不出哪里有问题,请各位高手 指教一下

风啦啦吹 发表于 2012-4-21 12:20:04

同学,你
case 250<=s<500 : d = 2%;
      break;
case 500<=s<1000 : d = 5%;
      break;
case 1000<=s<2000 : d = 8%;
      break;
case 2000<=s<3000 : d = 10%;
这几个语句,是不可以这么写的,比较表达式,关联的时候 只能是用 && || 这种,你这么写本身就是不对的,还有 我刚才试验了下,switch 语句,我在VC6.0上 调试的时候,是不允许传递 double类型的参数的丫。

还有 希望你能贴出完整的代码,包括头文件 和main 函数

づ綄镁の爱ヽ 发表于 2012-4-23 11:01:17

已经解决感谢
页: [1]
查看完整版本: 求教 看下这段哪里出问题了。。