为什么这个设置小数点位数没有用?是因为我定义的变量类型不对吗?double型输出也是这个结果

为什么这个设置小数点位数没有用?是因为我定义的变量类型不对吗?double型输出也是这个结果为什么这个设置小数点位数没有用?是因为我定义的变量类型不对吗?double型输出也是这个结果

/*18.从前,有一只吃包子很厉害的猴子,它可以吃无数个包子,但是,它吃不同的包子速度也不同;肉包每秒钟吃x个;韭菜包每秒钟吃y个;没有馅的包子& v S A * k每秒钟吃z : M | a q R个;现在有x1个肉包,y1个韭菜包,z1个没有馅的包子;问N V r = l:猴子吃完这些包子要多久?结y ( {果保留p位小数。
 输入1行,包含7个整数,分别j x u 表示吃不同包子的I [ h G * n v速度和不同包子的个数和保留的位数。*/
#incluE l Jde <iostream>
#include <[ 2 P { b } K Q;iomanip>
using namespace std;
int main()
{
float x, y, z, x1, y1, z1, p;
cin >U 9 9 N U _ v i W>8 e e ; U - T; x >> y &gJ / 0 t r H _t;> z >&gt k f _ 7 1t;: ] s z r x1 >> yX | 4 t J1 >> z1 >> p;
float sum = x1 /x + y1 / y + z1 /z;//总秒数
cl W c ,out << sum << endl;
cout << setprecision(pD B } m ) 9 ] D /+1) << sum;//设置浮点数的小数点数位(~ a 3 z ( ( ` j包括小数点)
retuV + z i [ S 2 P Crn 0;
}

回答

#include<# $ M ~ M e { S &;iomanip>

...
double x = 22.5% n , @ h N01234;
cout<<setiosflags(ios::f1 ] B A 6 + :ixed)<<setprecision(2)<<x<<endl;