|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
#include <math.h>
void main()
{
double a,b,c,disc,x1,x2,p,q;
scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;
x2=p-q;
printf("\nx1=%5.2f\nx2=%5.2f\n",x1,x1);
}
最后一行的%5.2有啥用啊?我改成3.2,4.2都没啥变化,改成什么7.2就显示出来变长了,改成什么3.20,5.20就变得很长了,要是在小数点后多搞几位小数运行就显得巨长无比了????
我的理解是:格式符 %5.2f 的意思是:输出结果最少占用5个字符,且保留2位小数
格式符控制的具体资料如下:
%[(name)][flags][width].[precision]typecode
name = 命名
flags 的值 可以有+,-,' '或0(+表示右对齐 -表示左对齐 ' '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐 0表示使用0填充)
width = 输出的宽度 5.2f的5就是宽度,代表浮点数的小数加整数最少站5个字符位置,如果不够就用空格填充
.precision =表示小数点后的精度,5.2f的2f,就是保存2为小数,4f为保留4为小数
|
|