鱼C论坛

 找回密码
 立即注册
查看: 2921|回复: 10

[技术交流] 计算快递费的代码不能跑,不知道为什么,求助大佬

[复制链接]
发表于 2021-11-5 01:11:05 | 显示全部楼层 |阅读模式

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

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

x
5.png
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         float weight,total;
  5.         int kind,way;
  6.        
  7.         printf("请输入快递的种类(1.市内、2.省内、3.省外): ");
  8.         scanf("%d",kind);
  9.        
  10.         while(1)
  11.         {
  12.                 if(kind<1||kind>3)
  13.                 {
  14.                         printf("请在提供的服务中选择:");
  15.                         scanf("%d",kind);
  16.                 }
  17.                 else
  18.                 break;
  19.         }
  20.        
  21.         printf("\n");
  22.        
  23.         printf("请输入快递的方式(1.普通快递、2.特快专递):");
  24.         scanf("%d",way);
  25.        
  26.         while(1)
  27.         {
  28.                 if(way<0||way>2)
  29.                 {
  30.                         printf("请在提供的服务中选择:");
  31.                         scanf("%d",way);
  32.                 }
  33.                 else
  34.                 break;
  35.         }
  36.        
  37.         printf("\n");
  38.        
  39.         printf("请输入快递的重量:");
  40.         scanf("%f",weight);
  41.        
  42.         while(1)
  43.         {
  44.                 if(weight<=0)
  45.                 {
  46.                         printf("请输入正确的重量:");
  47.                         scanf("%f",weight);
  48.                 }
  49.                 else
  50.                 break;
  51.         }
  52.        
  53.         if(kind==1)
  54.         {       
  55.                 if(way==1)
  56.                 {
  57.                         if(weight<=1)
  58.                         total==6;
  59.                         else
  60.                         total=6+1*(weight-1);
  61.                         printf("快递费用为%f元",total);
  62.                  }
  63.        
  64.                 else
  65.                 {
  66.                         if(weight<=1)
  67.                         total==12;
  68.                         else
  69.                         total=12+2*(weight-1);
  70.                         printf("快递费用为%f",total);
  71.                 }
  72.                
  73.         }
  74.        
  75.         if(kind==2)
  76.         {
  77.                 if(way==1)
  78.                 {
  79.                         if(weight<=1)
  80.                         total==6;
  81.                         else
  82.                         total=6+1.5*(weight-1);
  83.                         printf("快递费用为%f",total);
  84.                        
  85.                 }
  86.                 else
  87.                 {
  88.                         if(weight<=1)
  89.                         total==13;
  90.                         else
  91.                         total=13+2*(weight-1);
  92.                         printf("快递费用为%f",total);
  93.                 }
  94.         }
  95.        
  96.         if(kind==3)
  97.         {
  98.                 if(way==1)
  99.                 {
  100.                         if(weight<=1)
  101.                         total=10;
  102.                         else
  103.                         total=10+3*(total-1);
  104.                         printf("快递费用为%f",total);
  105.                 }
  106.                 else
  107.                 {
  108.                         if(weight<=1)
  109.                         total=22;
  110.                         else
  111.                         total=22+10*(total-1);
  112.                         printf("快递费用为%f",total);
  113.                 }
  114.         }
  115.         return 0;
  116. }
复制代码

这是运行的结果
6.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-11-5 02:08:18 | 显示全部楼层

回帖奖励 +3 鱼币

本帖最后由 jackz007 于 2021-11-5 02:15 编辑

        关注带有 scanf() 的语句,因为,所有对 scanf() 调用的写法都是错误的。
        下面是我修改的代码,谨供楼主参考。
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         float weight,total                                             ;
  5.         int kind , way                                                 ;
  6.         while(1)
  7.         {
  8.                 printf("请输入快递的种类(1.市内、2.省内、3.省外): ") ;
  9.                 scanf("%d", & kind)                                    ;
  10.                 if(kind > 0 && kind < 4) break                         ;
  11.                 else printf("选择无效!\n\n")                           ;
  12.         }
  13.         while(1)
  14.         {
  15.                 printf("请输入快递的方式(1.普通快递、2.特快专递): ") ;
  16.                 scanf("%d", & way) ;
  17.                 if(way > 0 && way < 3) break                           ;
  18.                 else printf("选择无效!\n\n")                           ;
  19.         }
  20.         while(1)
  21.         {
  22.                 printf("请输入快递的重量 : ")                          ;
  23.                 scanf("%f" , & weight)                                 ;
  24.                 if(weight > 0) break                                   ;
  25.                 else printf("重量无效!\n\n")                           ;
  26.         }
  27.         total = 0                                                      ;
  28.         if(kind > 0 && kind < 4 && way > 0 && way < 3 && weight > 0)
  29.         {
  30.                 if(kind == 1)
  31.                 {         
  32.                         if(way==1)
  33.                         {
  34.                                 if(weight <= 1) total = 6              ;
  35.                                 else total = 6 + 1 * (weight - 1)      ;
  36.                         }
  37.                         else
  38.                         {
  39.                                 if(weight <= 1) total = 12             ;
  40.                                 else total= 12 + 2 * (weight - 1)      ;
  41.                         }
  42.                 }
  43.                 else if(kind == 2)
  44.                 {
  45.                         if(way==1)
  46.                         {
  47.                                 if(weight <= 1) total = 6              ;
  48.                                 else total = 6 + 1.5 * (weight - 1)    ;
  49.                         }
  50.                         else
  51.                         {
  52.                                 if(weight <= 1) total = 13             ;
  53.                                 else total = 13 + 2 * (weight - 1)     ;
  54.                         }
  55.                 }
  56.                 else
  57.                 {
  58.                         if(way==1)
  59.                         {
  60.                                 if(weight <= 1) total = 10             ;
  61.                                 else total = 10 + 3 * (total - 1)      ;
  62.                         }
  63.                         else
  64.                         {
  65.                                 if(weight <= 1) total = 22             ;
  66.                                 else total = 22 + 10 * (total - 1)     ;
  67.                         }
  68.                 }
  69.                 printf("快递费用为: %f\n" , total)                     ;
  70.         }
  71.         return 0;
  72. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-5 08:02:11 | 显示全部楼层

回帖奖励 +3 鱼币

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-11-5 08:14:27 | 显示全部楼层
jackz007 发表于 2021-11-5 02:08
关注带有 scanf() 的语句,因为,所有对 scanf() 调用的写法都是错误的。
        下面是我修改的 ...

修改后的代码是可以的,谢谢,看来我得去翻看一下scanf函数,不过这里好像没有设置为最佳答案的选项,不知道是哪里出了问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-5 08:14:57 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-5 08:15:56 | 显示全部楼层
jackz007 发表于 2021-11-5 02:08
关注带有 scanf() 的语句,因为,所有对 scanf() 调用的写法都是错误的。
        下面是我修改的 ...

技术 交流区是不是没有设置为最佳答案选项的?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-5 08:45:02 | 显示全部楼层

回帖奖励 +3 鱼币

我来看看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-5 08:50:24 | 显示全部楼层
看看代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-5 09:51:40 | 显示全部楼层


发求助帖才行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-5 19:34:44 | 显示全部楼层
湫的小草原 发表于 2021-11-5 08:15
技术 交流区是不是没有设置为最佳答案选项的?

没有

问题求助才有
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-7 09:09:32 | 显示全部楼层
嘉岳呀 发表于 2021-11-5 19:34
没有

问题求助才有

是啊,我之前不知道
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-25 20:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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