一道小編程題,按書上輸入,可是運行出錯!如下:#include <stdio.h>#include <math.h>void main(){double x,y;printf("input x:\n");scanf("%1f",&x);if(x<1) y=x+1;else if(x<2) y=x+2;else y=x+3;printf("f(%f)=%.2f\n",x,y);}按書上輸入0.5得f(0.500000)=1.50可是我自己運行卻不行,請大家幫忙看一下是怎么回事?

熱心網友

不是書上錯了,是你看錯了!是lf,不是1f!(LF,不是1F),明白沒有?所以程序為:#include#includevoidmain(){doublex,y;printf("inputx:\n");scanf("%lf",&x);/*注意這里的LF格式*/if(x<1)y=x+1;elseif(x<2)y=x+2;elsey=x+3;printf("f(%lf)=%.2lf\n",x,y);/*注意這里的LF格式*/}執行結果: (0.500000)=1.50我在LinuxGCC下編譯通過。

熱心網友

else if是否是elseif

熱心網友

統一樓上觀點

熱心網友

改:#include #include void main()float x,y;printf("input x:\n");scanf("%1f",&x);if(x<1) y=x+1;else if(x<2) y=x+2;else y=x+3;printf("f(%f)=%.2f\n",x,y);}