【C语言】分段函数求值 控制输出格式 float精确到小数点后几位

案例如下

//分段函数求值
#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); 不过意义可能就不大了。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44731019/article/details/123569444