1.double a;
scanf("%f",&a); //应用scanf("%lf",&a);
执行上面语句时,发现double类型的输入不能使用%f进行输入,得用%lf才能正常得到a的值。
而在输出double类型时却可以用%f,这是因为printf("%f",a);在执行时C自动将float型的参数转换成double型。
2.sqrt用来计算一个非负实数的平方根,math.h头文件,函数原型为double sqrt(double),
sqrt使用时大多需要要强制类型转化,因为sqrt只支持double和float类型,
c=(int) sqrt((double)a*a+b*b);或者c=(int) sqrt((float)a*a+b*b);
在C++中输出要控制小数点的位数需要用到头文件iomanip中的setprecision(n)和setiosflags(ios::fixed)
其中setprecision(n) 设置浮点数的有效数字为n;setiosflags(ios::fixed) 设置浮点数以固定的小数位数显示