|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
关于小鱼C语言视频的第四章的课后练习:
运输公司对用户计算运费。路程(S)越远,每公里运费越低。标准如下:
s<250km 没有折扣
250≤S<500 2%折扣
500≤S<1000 5%折扣
1000≤S<2000 8%折扣
2000≤S<3000 10%折扣
3000≤S 15%折扣
设每公里每吨货物的基本运费为P(Price的缩写),货物重为w(weight的缩写),距离为S,折扣为d(discount的缩写),则总运费f(freight的缩写)的计算公式为f=P*w*S*(1-d)
----------------------------------------------------------------------------------------------------------------------------------------------------------
原解答,我知道的。
现在,我把程序这样设计,高手帮分析一下,错误的理由是什么?我用的是 if-else-if语句解答
#include <stdio.h>
void main()
{
double f, p, w, s, d;
printf("请输入:基本运费p,货物重量w,距离s \n");
scanf("%lf,%lf,%lf", &p, &w, &s);
f = p*w*s*(1-d);
if( s < 250 )
{
d = 0;
}
else if( 250<=s && s<500 )
{
d = 0.02;
}
else if( 500<=s && s<1000 )
{
d = 0.05;
}
else if( 1000<=s && s<2000)
{
d = 0.08;
}
else if( 2000<=s && s<3000 )
{
d = 0.1;
}
else if( s>=3000 )
{
d = 0.15;
}
printf("%lf\n", f);
}
为什么我在if之前把f定义它的赋值不行?要把 f = p*w*s*(1-d);这条表达语句加到每个if,else if的语句里去。
|
|