C语言无错误,但答案不正确,应该输出0.5
-9.500000
无思路
第10行else后面的分号删掉printf("%.1f\n",y);
因为你这里多了一个分号,所以当执行第一个if(x<1)y=x;语句之后,y=3*x-11这个语句还是执行了.所以最终结果是-9.5/n;