案例如下
//分段函数求值#include <stdio.h>//#include <math.h>int main(){float x,y;printf("请输入x的值:");scanf("%f",&x);printf("\n");if(x<1){y=x;}else if(x>=1&&x<10){y=2*x-1;}else if(x>=10){y=3*x-11; }printf("y=%.3f\n",y);return 0;}
测试输出
关键之处就是对于 if 条件的判断,注意 且 应当表示为&&
,不要只写一个 & 。
还有个有意思的地方就是,对于输出结果格式的控制。下面再换个输出格式试试。
写成printf("y=%.5f\n",y);
,测试试试看。
再写成printf("y=%.2f\n",y);
,再测试试试看。
直接写成printf("y=%f\n",y);
,再测试试试看。
也就是说,这里y=%.3f
在输出格式中表示精确到小数点后第3位,如果不加.3,那么默认就是精确到小数点后6位,double和float都是默认精确到小数点后6位。
那么同样也可以写成精度更高的:printf("y=%.8f\n",y);
不过意义可能就不大了。