视频中的路费的代码,还未参考分析解答自己写的
代码:
/*switch解决问题
课堂分析*/
#include <stdio.h>
int main()
{
float p,w,s,d,f;
printf("请输入基本运费,货物重量,距离");
scanf("%f %f %f",&p,&w,&s);
switch(s<250&&s>0)
{
case 1:
d=1;break;
case 0:
switch(s>=250&&s<500)
{
case 1:
d=1-0.02;break;
case 0:
switch(s>=500&&s<1000)
{
case 1:
d=1-0.05;break;
case 0:
switch(s>=1000&&s<2000)
{
case 1:
d=1-0.08;break;
case 0:
switch(s>=2000&&s<3000)
{
case 1:
d=1-0.1;break;
default:
d=1-0.15;break;
}
}
}
}
}
if (s<=0||p<=0||w<=0)
printf("输入错误");
else
{
f=p*w*s*d;
printf("总运费为%f",f);
}
return 0;
}
其实这道题上一节课的课后观察已经给出了解题提示,利用switch后面的解答式判断真假值来解题
也可以用if分支解决这个问题代码
/*switch实现多分支结构
课后观察*/
#include <stdio.h>
int main()
{
float p,w,s,d,f;
printf("请输入基本运费,货物重量,距离");
scanf("%f %f %f",&p,&w,&s);
if(s<250&&s>0)
d=1;
else if(s>=250&&s<500)
d=1-0.02;
else if(s>=500&&s<1000)
d=1-0.05;
else if(s>=1000&&s<2000)
d=1-0.08;
else if(s>=2000&&s<3000)
d=1-0.1;
else
d=1-0.15;
if (s<=0||p<=0||w<=0)
printf("输入错误");
else
{
f=p*w*s*d;
printf("总运费为%f",f);
}
return 0;
}
本文详细解读了视频中路费计算的算法实现,通过使用switch、if分支结构解决复杂条件判断问题,并对代码进行优化。重点讨论了如何利用switch后的解答式判断真假来解题,同时提供了if分支结构的替代方案。此外,文章还对比了两种不同分支结构的优缺点,旨在帮助读者理解并掌握多分支逻辑处理技巧。
1083

被折叠的 条评论
为什么被折叠?



