我不会啊,教教我吧。

img

代码如下:

img

#include <stdio.h>
int main()
{
    double w,f;
    scanf("%lf",&w);
    if(w<=5) f = 3*w;
    else if(w>5 && w<=10) f = 3.5*(w-5) + 3*5;
    else if(w>10 && w <=20) f= 3*5+3.5*5+(w-10)*4;
    else
    {
        printf("拒收");
        return 0;
    }
    printf("%g",f);
    return 0;
}

题目的代码如下(最简优化)

#include <stdio.h>
int main () {
    double weight=12;
    if(weight<=5)
    printf("运费:%f\n",3*weight);
    else if(weight<=10)
        printf("运费:%f\n",(3*5+(weight-5)*3.5));
    else if(weight<=20)
        printf("运费:%f\n",(3*5+5*3.5+(weight-10)*4.5));
    else
    
        printf("拒收");
    return 0;
}

测试结果如图

img

如有帮助,望采纳一下,谢谢,如有其他问题可以继续交流

用if...else 进行分支判断就可以了啊