[求助] 对于float变量取小数点后位数的问题
问题,
将从键盘输入的实型十进制数分离为整数部分和小数部分输出。
如:输入123.45,输出为123.45=123+0.45
我已基本解决问题,可是最后一步卡壳了
代码如下:
main()
{
float a,c;
int b;
scanf(" %f",&a);
b=(int)a;c=a-b;
printf(" %f = %d + %f\n" ,a,b,c);
}
运行之后可以得出结果,但是不是123.45=123+0.45的形式,而是123.450000=123+0.450000的形式
关于这个,我知道 %f 变成 %.2f 之后,此例正确显示,但是要求中没有确定相应的小数点后位数,遇到更多位数的将会四舍五入,所以这个是不对的
求助:怎样才能输出实际数值?