代码求勘误
/********************大佬们,以下是我做的一个switch语句练习题,但是运行的结果一直不对,请问是哪里的问题?
习题:为快递公司编写总价计算程序,路程(s)越远,每公里运费越低。折扣标准如下:
s<250km 没有折扣
250km≤s<500km 2%折扣
500km≤s<1000km 5%折扣
1000km≤s<2000km 8%折扣
2000km≤s<3000km 10%折扣
3000km≤s 15%折扣
设每公里每吨货物基本运费为p,货物重为w,距离为s,折扣为d,则总运费f为:
f=p*w*s*(1-d)
********************/
#include<stdio.h>
void main()
{
int a,s;
double p,w,d,f;
w=30.0;
p*0.8;
printf("请输入运送距离:\n");
scanf("%d",&s);
a=s/250;
switch(a)
{
case 0:d=0;break;
case 1:d=0.02;break;
case 2:d=0.05;break;
case 3:d=0.05;break;
case 4:d=0.08;break;
case 5:d=0.08;break;
case 6:d=0.08;break;
case 7:d=0.08;break;
case 8:d=0.1;break;
case 9:d=0.1;break;
case 10:d=0.1;break;
case 11:d=0.1;break;
default :d=0.15;break;
}
f=p*w*s*1.0*(1-d*1.0);
printf("总费用为:%8.2lf\n",f);
}
好奇的问,想知道是谁教你 void main() 的?
switch 参数是整型,而你的 a = s/250; 明显就有问题 傻眼貓咪 发表于 2022-4-3 18:26
switch 参数是整型,而你的 a = s/250; 明显就有问题
a和s都是int的呀0.0 Mrzhengdingwan 发表于 2022-4-3 18:42
a和s都是int的呀0.0
请问你的 p 的初始值是?
p*0.8 是什么意思? 傻眼貓咪 发表于 2022-4-3 18:44
请问你的 p 的初始值是?
p*0.8 是什么意思?
hhhhhhh大佬你发现了关键点...我想写p=0.8;来着
页:
[1]