怎样输出整数而不是1e+02之类的?

已知一球从高空落下时,每次落地后反弹至原高度的四分之一再落下。编写一程序,从键盘输入整数n和m,求该球从n米的高空落下后,第m次落地时共经过的路程以及第m次落地后反弹的高度,并输出结果。

并且输出结果怎样才能四舍五入?


#include <iostream>
#include <iomanip>

using namespace std;

int main()
{

    double s,m,n,i;
    cin>>n>>m;
    if (m==1)
    {
        cout<<setprecision(2)<<n<<endl;
        cout<<setprecision(2)<<n/4<<endl;
    }
    else
    {
        s=n;
        for (i=2;i<=m;i++)
      {
         s=s+n/2;
         n=n/4;
      }
      n=n/4;
      cout<<fixed<<setprecision(2)<<s<<endl;
      cout<<fixed<<setprecision(2)<<n<<endl;
    }


}

round


Example#include <iostream>
#include <iomanip>
#include <cmath>
#include <limits>
int main()
{
    const long double pi = std::acos(-1.L);
    std::cout << "default precision (6): " << pi << '\n'
              << "std::setprecision(10): " << std::setprecision(10) << pi << '\n'
              << "max precision:         "
              << std::setprecision(std::numeric_limits<long double>::digits10 + 1)
              << pi << '\n';
}
Output:

default precision (6): 3.14159
std::setprecision(10): 3.141592654
max precision:         3.141592653589793239