C语言的if else if判断,只会执行前面两个,后面的else if,不会执行,不论I输入为多少

/企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高
   于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提
   成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于
   40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于
   100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
/


#include<stdio.h>
#include<stdlib.h>

double  I, j, k, JJ;

 main()
{
    printf("请输入当月利润(单位万元)\n");
    scanf_s("%lf", &I);
    if (I <= 10)
    {
        JJ = I * 0.1;
        printf("应发奖金数为%f\n", JJ);
    }

    else if (10 < I <= 20)
    {
        j = (I - 10) * 0.075;
        JJ = j + 10 * 0.1;
        printf("应发奖金数为%f\n", JJ);
    }

    else if (20 < I <= 40)
    {
        j = (I - 20) * 0.075;
        k = 20 * 0.05;
        JJ = j + k;
        printf("应发奖金数为%f\n", JJ);
    }

    else if (40 < I <= 60)
    {
        j = (I - 40) * 0.015;
        k = 40 * 0.03;
        JJ = j + k;
        printf("应发奖金数为%f\n", JJ);
    }

    else if (60 < I <= 100)
    {
        j = (I - 60) * 0.015;
        k = 60 * 0.03;
        JJ = j + k;
        printf("应发奖金数为%f\n", JJ);
    }

    else (100 < I);
    {
        j = (I - 100) * 0.01;
        k = 100 * 0.015;
        JJ = j + k;
        printf("应发奖金数为%f\n", JJ);
    }
    
}


else if (10 < I <= 20) 改成else if (10 < I && I <= 20) 其他的一样

I>10 && I<=20

按照这种格式把所有的else if里面的条件重写一下。

c不支持这种连续的表达式判断
每个判断都是分开的,python支持