114.小球路程 (5分)
C时间限制:3000 毫秒 | C内存限制:3000 Kb
题目内容:
小球从n米高处自由下落,每次弹起的高度是下落高度的70%,当小球弹起的高度不足原高度的千分之一时, 小球很快会停止跳动,请计算小球在整个弹跳过程中所经历的总路程(忽略弹起高度不足原高度千分之一的部分)。(注:本题计算过程请用双精度实数)
输入描述
高度数据,一个实数输出描述
总路程,保留4位小数输入样例
100输出样例
566.1347
本题无需多言,但我想说一下的是,关于c++的小数点输出的问题。
在c语言中,printf能控直接制小数点的输出,但是c++的cout不行,它必须调用其他的函数。
首先是setprecision()函数(头文件为),它能控制输出的包括整数与小数在内的位数之和。例如:
cout<<setprecision(4)<<(25.0);
就会得到25.00,同样的方式输出25.123,那么它会自动得四舍五入。如果输出的数的整数部分就大于控制的位数,就会得到指数形式。当然这一切都对整数无效。
要控制输出小数点的位数还要使用到fixed()函数,其他用处就不说(好像也没有什么其他用处),
cout<<fixed()<<setpricision(n)<<ans<<;
就酱,得到保留n位小数的ans值 。