案例如下
//分段函数求值
#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);
不过意义可能就不大了。