#include<stdio.h>
#include<math.h>
main()
{
double a,b,c,s,area;
printf("please type the langth:",a,b,c);
scanf("%f%f%f",&a,&b,&c);
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("the area is%f",area);
}
如果将double改成float 那么运算结果是正确的,double是错误的。求解答,必然采纳
你是什么意思?文不对题啊!
本回答被网友采纳C++中float double的使用问题,如图!为啥double的输出不对呢?
4.0、3.14 这样写就是double;4.0f、3.14f 这样写就是float;运算时,低精度的会自动向高精度转换,比如有double时,int和float都会转换成double,你那个表达式中sqrt()返回一个double,所以其他int都转成了double,最终结果也是double。y1的结果是54,呵呵,54不就是54.0么,只是你显示到屏幕的...
c++中,float型和double型各保留几位有效数字?麻烦举几个例子,谢谢~
float fval = 1.32121212f;double dval = -45.67456554;double dval2 = -4.456511111111111;cout << fval << endl;cout << dval << endl;cout << dval2 << endl;输出的结果是:1.32121 -45.6746 -4.45651 参考资料:
C++中double和float类型精确度的一个有趣的问题~
其实float和double都无法精确表示0.9 + 0.1,只不过float的结果稍大于1,而double的结果稍小于1 你可以试验下从2.0到3.0循环,这时候float有3.0,而double没有
double和float输出一定都要加小数吗?
在 C\/C++ 语言中,double 和 float 类型的数值可以输出整数或者带小数点的实数。当输出一个 double 或 float 变量时,如果该变量包含小数部分,则应该使用格式化输出函数(如 printf() 函数)并指定相应的格式字符串(如 "%f"),以显示小数位。例如:c复制代码double d = 3.1415926;printf("%f\\n...
c++中的double是什么,有什么作用,烦举一例。
是float的两倍),而且其运算速度相对较慢。因此,在性能要求不高的情况下,通常优先选择float类型,以节省内存和加速计算。总的来说,double在C++中主要用于需要高精度计算的场景,如科学计算、金融分析等,但需权衡其对性能的影响。了解这些特性有助于你更有效地使用这个数据类型。
C语言中浮点数float和double输出的问题
float的精度是6到7位,就是说连整数部分有6位是可信的,再长了就是机器垃圾值了;double有16到17位是可信的,再多了也是机器垃圾值。下面的代码可说明这一问题。float型x的值从第8位2开始就是垃圾值了,尽管要求输出小数点后10位;double型y的值从第18位起也是垃圾值,尽管要注输出了小数点后20...
c++中的double是什么,有什么作用,烦举一例。
double(双精度浮点型)是计算机使用的一种资料型别。比起单精度浮点数(float),double(双精度浮点数)使用 64 位(8字节) 来储存一个浮点数。它可以表示十进制的15或16位有效数字,负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1....
求大神给说下c++中的double和float类型
第一,float 和double表示的都是近似数,不是绝对准确的值,所以在运算过程中,会有精度上的丢失。 比如,原始数字为123.123456789, 经过一系列运算,+-*\/之后,再逆运算回来,很可能已经不是原来的值了。 更极端的例子是,float a=123.456789111223456 然后打印这个值,不同的编译器可能会给出不同...
c++中的double类型的精度问题怎么解决?
这本来就是近似的,要精度高就把π取精确点。acos(0)\/3.14159265358979*180应该是90.000000°了。include "stdio.h"#include "math.h"int main(int argv,char *argc[]){printf("%f\\n",acos(0)\/3.14159265358979*180);return 0;}运行结果:...
C++ float函数输出的结果是什么?
{float r, l, s;scanf("%f", &r);printf("S: %.2f\\n", PI*r*r);printf("L: %.2f\\n", 2*PI*r);return 0;} 程序问题有两点:1、 变量要先定义,赋值然后才能参与运算,所以要先输入r,才能计算s=pi*r*r 。2 、scanf("%lf",&r);中格式要使用%lf 。注意:double双精度型...