C语言只用swtich语句怎么办啊

img


求大佬帮我看看怎么办

重量除以3,然后用switch...case
可以利用switch...case 但不使用break会执行后续的case项的特点解决。不需要if...else

#include <stdio.h>
int main()
{
    int n,t,f=0;
    scanf("%d",&n);
    t = n/3;
    switch(t)
    {
    case 18:
    case 17:
    case 16:
    case 15:
    case 14:
    case 13:
    case 12:
    case 11:
    case 10:
    case 9:
    case 8:
    case 7:
    case 6:
    case 5:
        f+=ceil((n-9)/9.0)*5;
        n=9;
    case 1:
    case 2:
    case 3:
        f+=ceil((n-3)/3.0)*5;
    case 0:
        f+= 23;
        printf("%d",f);
        break;
    default:
        printf("不收货");
    }

    return 0;
}

//换算成克来算会好一点
switch( (重量-1)/1000 )//这里要减一,比如1000,如果%1000就是1,但是我们需要这个结果为0,所以减一
{
case 0....20: 
case 21....54:     //这里数字多的话可以这样写,具体的写法可以百度
....
....
}