大佬们帮帮忙,输入35为什么不是2.500000而是2.875000

#include<stdio.h>
int main()
{
 float l;
 scanf("%f",&l);
 if(l<=10)
  l=0.1*l;
 else if(10<l<=20)
  l=1+(l-10)*0.075;
 else if(20<l<=40)
  l=1.75+(l-20)*0.05;
 else if(40<l<=60)
  l=2.75+(l-40)*0.03;
 else if(60<l<=100)
  l=2.75+20*0.03+(l-60)*0.015;
 else
  l=3.35+40*0.015+(l-100)*0.01;
 printf("%f",l);
 return 0;
}

qq_狼噬夜魇_0
浏览 1037回答 1
1回答

慕用4063026

else if(20<l<=40)这里是连续语句,C11不建议这样写,有的编辑器会出错,所有连续的改成&&形式else if(20<l&&l<=40),改后测试了没问题输出:2.500000
打开App,查看更多内容
随时随地看视频慕课网APP