猴子吃包子 運用setprecision()和fixed

Se7attle發表於2020-12-01

猴子吃包子 運用setprecision()和fixed

問題描述
  從前,有一隻吃包子很厲害的猴子,它可以吃無數個包子,但是,它吃不同的包子速度也不同;肉包每秒鐘吃x個;韭菜包每秒鐘吃y個;沒有餡的包子每秒鐘吃z個;現在有x1個肉包,y1個韭菜包,z1個沒有餡的包子;問:猴子吃完這些包子要多久?結果保留p位小數。

輸入格式
  輸入1行,包含7個整數,分別表示吃不同包子的速度和不同包子的個數和保留的位數。

輸出格式
  輸出一行,包含1個實數,表示吃完所有包子的時間。

  這一題要求保留小數點後p位,難點在於事先不確定p值是多少,可以使用setprecision()和fixed 解決這個問題。

#include<bits/stdc++.h>
using namespace std;
int main(){
	double x,y,z,x1,y1,z1,p;
	cin>>x>>y>>z>>x1>>y1>>z1>>p;
	double t1 = x1/x;
	double t2 = y1/y;
	double t3 = z1/z;
	double t = t1 + t2 + t3;
	cout<<setprecision(p)<<fixed<<t<<endl;
	return 0;
} 

  setprecision()和fixed 是STL庫中的內容,setprecision( int p )是設定數值的精度,包含整數和小數。fixed 表示用一般的方式輸出浮點數,C++預設的流輸出數值有效位是6。setprecision()和fixed合用就可以保留小數點後的位數。

相關文章