关键点

  1. 浮点数相等的比较要转换为大小的比较
  2. 浮点数的输入输出
//输入
scanf("%f",&x);
//输出(%和f之间的数字代表宽度,x.y表示整数部分x位,小数部分y位)
printf("%.1f",y);

完整代码

#include<stdio.h>
int main(){
    int loop = 0;
    scanf("%d",&loop);
    for(int i = 0;i<loop;i++){
        float x = 0.0;
        float y = 0.0;
        scanf("%f",&x);
        if(x > -1e-9 && x < 2.0)y = 2.5 - x;
        else if(x < 4.00001)y = 2.0 - 1.5 * (x - 3) * (x - 3);
        else y = x/2 - 1.5;
        printf("y=%.1f\n",y);
    }
}