int main(){ float a,b,c,D,max;scanf("%f%f%f",&a,&b,&c);if(a>b)D=a;else D=b;if(D>c)max=D;else max=c;printf("%f",max);return 0;}
float a,b,c; /*当你把这里的float改成double或int*/ float x1,x2,mid_trm;printf("Please input the three coefficients of the function:");scanf("%f%f%f",&a,&b,&c);/*这里请吧%f改成%lf(double),把%f改成%d(int)*/ printf("%f",area);也一样,当你输出的数如area是...
在C语言中,double和float是两种浮点数类型,用于表示带有小数部分的数值。它们的区别在于所占用的字节数不同,double占用8个字节,而float只占用4个字节。使用double和float的...
还有,有个例子:在C和C++中,如下赋值语句 float a=0.1;编译器报错:warning C4305: 'initializing' : truncation from 'const double ' to 'float '原因:在C/C++中(也不知道是不是就在VC++中这样),上述语句等号右边0.1,我们以为它是个float,但是编译器却把它认为是个double(因为小数默...
楼上的几位说得不是很对,当你在声明一个常量的时候例如1.33只要你没有在后面加个f也就是1.33f 那么系统默认的存储方式就是double 如果你要直接把常量赋值给double b=1.33 其实没有结果任何转换 要是声明为1.33f也可以直接用double b=1.33 f double的精度要高于float所以不用强制转换 ...
只要这样:scanf("%lf",&x);就可以了。希望你能满意。
2.0*Pi*r,Pi*r*r,4.0*Pi*r*r,4.0/3.0*Pi*r*r*r,Pi*r*r*h);至少要把4/3中的一个改为浮点数,不然会执行整数除法。double:include<stdio.h>#define Pi 3.14int main(){double r,h;scanf("%lf,%lf",&r,&h); //lfprintf("r=%f,h=%f\n",r,h);printf("圆的周...
double y = 18.6; 100 和 294 这两个数字默认都是 int 类型的,将 100 赋值给 a,必须先从 int 类型转换为 long 类型,而将 294 赋值给 b 就不用转换了。 52.55 和 18.6 这两个数字默认都是 double 类型的,将 52.55 赋值给 x,必须先从 double 类型转换为 float 类型,而将 18.6 赋值给 y 就不用转...
一般没有什么问题,double精度更高,范围更大 只是内存开销也大,是float的两倍
c语言中将一个浮点型赋值给整型时,不会四舍五入,会直接舍去小数部分的数据,也可以认为是执行了下取整运算。将浮点数(单双精度)转换为整数时,将舍弃浮点数的小数部分, 只保留整数部分。将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式, 即小数点后带若干个0。注意:赋值时的类型转换...