鱼C论坛

 找回密码
 立即注册
查看: 2269|回复: 2

写了一个小甲鱼老师的课后习题,计算运费,不知道哪里错了,计算结果不正确,但程....

[复制链接]
发表于 2021-4-18 10:39:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
/*运输公司对用户计算运费。路程(s)越远,每公里运费越低。标准如下:s < 250km     没有折扣;
250 <= s <500    2%折扣;
500<= s <1000    5%折扣;
1000 <= s <2000  8%折扣;
2000 <= s <3000  10%折扣;
3000 <= s        15%折扣;
设每公里货物的基本运费为p,货物重为w,距离为s,折扣为d
则总运费f的计算公式为:f=p*w*s*(1-d)*/
#include <stdio.h>
#include <math.h>

void main()
{   
         int c,s;
     float d,p,w,f;
         printf("input three numbers : ");
         scanf("%f %f %f ",&p,&w,&s);
         if(s<250)
                c=1;
         else if((250 ==s || 250 < s) && s < 500)
            c=2;
         else if((500 == s || 500 < s) && s < 1000)
            c=3;
         else if((1000 == s || 1000 < s) && s < 2000)
            c=4;
         else if((2000 == s || 2000 < s) && s < 3000)
            c=5;
         else
            c=6;
     switch(c)
         {
         case 1:
             d=0;
                 break;
     case 2:
             d=2;
             break;
     case 3:
         d=5;
                 break;
         case 4:
         d=8;
             break;
     case 5:
         d=10;
                 break;
     case 6:
             d=15;
                 break;
          }
           f=p*w*s*(1-d/100.0);
                printf("freight=%f\n",f);

}//程序错误


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-18 11:51:16 From FishC Mobile | 显示全部楼层
错误信息呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-18 15:26:03 | 显示全部楼层
本帖最后由 g1063496360 于 2021-4-18 15:29 编辑

#include <stdio.h>
#include <math.h>

void main()
{   
         int c,s;
     float d,p,w,f;
         printf("input three numbers : ");
         scanf("%f%f%d",&p,&w,&s);
         if(s<250)
                c=1;
         else if((250 ==s || 250 < s) && (s < 500))
            c=2;
         else if((500 == s || 500 < s) && (s < 1000))
            c=3;
         else if((1000 == s || 1000 < s) && (s < 2000))
            c=4;
         else if((2000 == s || 2000 < s) && (s < 3000))
            c=5;
         else
            c=6;
     switch(c)
         {
         case 1:
             d=0;
                 break;
     case 2:
             d=2;
             break;
     case 3:
         d=5;
                 break;
         case 4:
         d=8;
             break;
     case 5:
         d=10;
                 break;
     case 6:
             d=15;
                 break;
          }
           f=p*w*s*(1-d/100);
                printf("freight=%f\n",f);
}


你定义S 是整型的 用%d就好   还有输入你%f%f最好就不要空格了 不要你要多输几次空格
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 17:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表