标题:新手在线求大佬指导,太难了
只看楼主
修行的老衲
Rank: 1
等 级:新手上路
帖 子:9
专家分:4
注 册:2019-10-21
得分:0 
我终于把老师布置的三个程序给打出来了,谢谢你们的帮忙
2019-10-21 21:20
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:4 
这道题从数学角度来说,写得有点不明白,比如:距离500<=s<1000,一公里运费0.4,这里就给人一种不理解的地方,我们可以这样理解:假设距离是800公里,那么,就有两点情况:
    1:这800公里中,每一公里的运费是0.4元,那么800公里的运费共计就是800*0.4=320元。
    2:800公里=500公里+300公里,其中前500公里的运费是500*0.5=250元。后300公里的运费是300*0.4=120元,所以这800元的共计运费就是:500*0.5+300*0.4=370元。因为原题里面说的是:距离500<=s<1000,一公里运费0.4。
    如果是第一种情况,那么6楼的编程不错,如果是第二种情况呢?
    如果是第二种情况呢,编程如下:
程序代码:
#include <stdio.h>
int main( void )
{
    unsigned long s;
    printf( "输入距离(非负整数,单位:公里): " );
    if( scanf("%lu",&s) != 1 )
    {
        puts( "输入格式错误." );
        return 1;
    }

    double f;
    switch( s/500 )
    {
    case 0:  f = 0.5;  printf( "总运费是 %.2f 元\n", s*f ); break;
    case 1:  f = 0.4;  printf( "总运费是 %.2f 元\n", 500*0.5+(s-500)*f ); break;
    case 2: case 3:   f = 0.3; printf( "总运费是 %.2f 元\n", 500*0.5+500*0.4+(s-1000)*f ); break;
    case 4: case 5: case 6: case 7:    f = 0.2; printf( "总运费是 %.2f 元\n", 500*0.5+500*0.4+1000*0.3+(s-2000)*f ); break;
    default: f = 0.1;printf( "总运费是 %.2f 元\n", 500*0.5+500*0.4+1000*0.3+2000*0.2+(s-4000)*f ); break;
    }
}
收到的鲜花
  • rjsp2019-10-22 08:24 送鲜花  5朵  
2019-10-21 21:51
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:4 
应该是第二种情况,否则就会出现501公里比500公里运费便宜的现象。
收到的鲜花
  • rjsp2019-10-22 08:24 送鲜花  5朵  

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2019-10-21 23:19
阿杰su
Rank: 2
等 级:论坛游民
帖 子:6
专家分:11
注 册:2019-10-28
得分:4 
回复 楼主 修行的老衲
c语言编程软件可以发一下吗我不会下载
2019-10-28 21:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-497366-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039982 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved