用Switch怎么求计程车费用问题啊

img


这样的问题,我先用if再用Switch输出老是有乱七八糟的数字,到底该怎么解啊😭


 
#include <stdio.h>
int main()
{
    int n;
    float s = 0;
    scanf("%d",&n);
    switch(n/10)
    {
    case 0:
        if(n<=2)
            s = 7;
        else
        {
            s = 7 + (n-2)*1.8;
        }
        break;
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
        s = 7 + 8*1.8 + (n-10)*2.1;
        break;
    default:
        s = 7 + 8*1.8 + 90*2.1 +(n-100)*3;
        break;
    }
    printf("%f",s);
    return 0;
 
}