首页 > 代码库 > cout格式化输出

cout格式化输出

问题描述:

  有N条绳子, 它们的长度分别为Li. 如果从它们中切割出K条相同的绳子的话,这K条绳子每条最长能有多少?

  (备注:答案保留两位小数)

<1>精确到小数点后两位输出

#include <iostream>#include <vector>#include <iomanip>using namespace std;int getDiv(vector<int> li, int max){	int ans =0;	for(int i=0;i<li.size();++i){		ans+=li[i]%max;	}	return ans;}int main(){	int N,K,temp,max,sum=0;	vector<int> li;	cin>>N>>K;	for(int i=0;i<N;++i){		float t; cin>>t;		temp = (int)(t*100);		sum+=temp;		li.push_back(temp);	}	max = sum/K;	while(max*K+getDiv(li,max)>sum){		max--;	}	cout.setf(ios::fixed); //按点输出显示 	cout<<setprecision(2)<<max/100.<<endl;	return 0;}

<2>运行结果

  技术分享

总结

  设置小数点后精确到n位,需要引入头文件/setf(ios::fixed)/setprecision(n) 即可!

  #include <iomanip>

  cout.setf(ios::fixed); //按点输出显示 

  cout<<setprecision(2)<<max/100.<<endl;

cout格式化输出