C语言里else if

img


用if else 嵌套可以做出来,但是我用else if的时候他提示不可以这样用,有可以做出来的吗

if-else语句


#include<stdio.h>
void main(){
    double sum;//快递费 
    double quality;//重量 单位 kg 
    scanf("%lf",&quality);
    if(quality>0 && quality<=5){
        sum = quality * 3;
    }
    else if(quality>5 && quality<=10){
        sum = 5 * 3 + (quality-5) * 3.5;
    }
    else if(quality>10 && quality<=20){
        sum = 5*3 + 5*3.5 + (quality-10)*4;
    }
    else if(quality>20 && quality<=30){
        sum = 5*3 + 5*3.5 + 10*4 + (quality-20)*4.5;
    }
    else if(quality>30 && quality<=50){
        sum = 5*3 + 5*3.5 + 10*4 + 10*4.5  + (quality-320)*5;
    }
    else if(quality>50){
        printf("重量大于50kg,拒收");
    }
    printf("%.2f",sum);//你要保留一位小数就用 %.1f 
}

img

switch语句


#include<stdio.h>

void main(){
    double sum;//快递费 
    int quality;//重量 单位 kg 
    printf("请输入重量(不足按整数取值):"); 
    scanf("%d",&quality);    
    switch(quality){
    case 1 ://利用穿透 
    case 2 :
    case 3 :
    case 4 :
    case 5 : sum = quality * 3;printf("%.2f",sum);break;
    case 6 :
    case 7 :
    case 8 :
    case 9 :
    case 10 : sum = 5 * 3 + (quality-5) * 3.5;printf("%.2f",sum);break;
    case 11 :
    case 12 :
    case 13 :
    case 14 :
    case 15 :
    case 16 :
    case 17 :
    case 18 :
    case 19 :
    case 20 : sum = 5*3 + 5*3.5 + (quality-10)*4;printf("%.2f",sum);break;
    case 21 :
    case 22 :
    case 23 :
    case 24 :
    case 25 :
    case 26 :
    case 27 :
    case 28 :
    case 29 :
    case 30 : sum = 5*3 + 5*3.5 + 10*4 + (quality-20)*4.5;printf("%.2f",sum);break;
    case 31 :
    case 32 :
    case 33 :
    case 34 :
    case 35 :
    case 36 :
    case 37 :
    case 38 :
    case 39 :
    case 40 : 
    case 41 :
    case 42 :
    case 43 :
    case 44 :
    case 45 :
    case 46 :
    case 47 :
    case 48 :
    case 49 :
    case 50 : sum = 5*3 + 5*3.5 + 10*4 + 10*4.5  + (quality-320)*5;printf("%.2f",sum);break;
    default : printf("重量大于50kg,拒收");
    }
} 

img

http://t.csdn.cn/FNBkz
建议看一下这个博客。没有else if。只有if,if else,else三种写法

代码呢,你把else if写哪了