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;

时间: 2024-11-10 01:08:40

cout格式化输出的相关文章

cout 格式化输出

一直习惯于C语言的printf函数来打印,突然有一天要用cout来打印,发现有点不适应. 原来cout也是有格式化输出的. 首先要引入头文件 #include<iostream> // 在使用setf等库函数时使用 #include<iomanip> // 在使用流操纵算子时使用 cout可以用setw来设置字符串的长度,不足的话,可以用setfill来设置填充 string str = "1401435919"; time_t ti = atoi(str.c_

C++ cout 格式化输出方法

C语言里可以用printf(),%f来实现浮点数的格式化输出,用cout呢...? iomanip是I/O流控制头文件,就像printf的格式化输出一样. 以下是一些常用的: dec 置基数为10 相当于"%d"hex 置基数为16 相当于"%X"oct 置基数为8 相当于"%o"setfill(c) 设填充字符为csetprecision(n)   设显示小数精度为n位setw(n) 设域宽为n个字符setioflags(ios::fixed)

[转载] c++ cout 格式化输出浮点数、整数及格方法

C语言里可以用printf(),%f来实现浮点数的格式化输出,用cout呢...? 下面的方法是在网上找到的,如果各位有别的办法谢谢留下... iomanip.h是I/O流控制头文件,就像C里面的格式化输出一样.以下是一些常的: dec 置基数为10 相当于"%d" hex 置基数为16 相当于"%X" oct 置基数为8 相当于"%o" setfill(c) 设填充字符为c setprecision(n) 设显示小数精度为n位 setw(n)

cout格式化输出 详解

//在使用setf等库函数时使用 //在使用流操纵算子时使用 //using namespace std; //以下所有的setf()都有对应的unsetf()用于取消设置 //所有的setiosflags()可以用resetiosflags()取消 //标志位fmtflags的命名空间可以使用ios_base::或者ios:: int laneri = 12345; double lanerd = 56789; //1.设置整数进制输出 //重载1:fmtflags ios_base::set

c++ cout格式化输出函数详解

这篇文章主要讲解如何在C++中使用cout进行高级的格式化输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等.通过本文,您可以完全脱离scanf/printf,仅使用cout来完成一切需要的格式化输入输出功能(从非性能的角度而言).更进一步而言,您还可以在<sstream>.<fstream>上使用这些格式化操作,从而代替sprintf和fprintf函数.为方便描述,下文仅以cout为例进行介绍. 一.综述 cout是STL库提供的一个iostream实例,拥有i

Boost 的C++ 格式化输出函式库:Format

他最大的特色是在于它可以使用C 语言中printf 的格式化字串,来针对C++ 的iostream 做输出.或是产生格式化的字串:相较于C++ iostream 的manipulator,boost::format 在使用上更为直觉.简单. 而且和printf 不同的地方在于,他又有C++ iostream 的type safe.可以支持自定义类型的输出 官方网站的介绍可以参考: http://www.boost.org/doc/libs/1_44_0/libs/format/index.htm

C++格式化输出

格式化输出主要包括控制状态标志.输出宽度.填充字符.输出精度等内容.其目的是实现特定的输出格式,实现方式有两种:使用状态标志和成员函数进行格式化输出和使用流操作符进行格式化输出. 1.使用状态标志和成员函数 输出标志由各种状态标志来确定,它们是定义在ios类中的枚举变量,引用时必须包含ios::前缀.常见的状态标志如下: 与此相关的主要是以下重要成员函数. setf(long flags):设置状态标志 unsetf(long flags):清除状态标志 flaps().flaps(long f

格式化输出输入一二事

前言 输出输入流可以通过各种方式设置多种多样的格式化操作,给输出输入提供多种选项. 每种格式化将输出将通过两种方式进行描述,一种是操纵符,一种是成员函数.操作符一般在流中插入以进行格式化输出,成员函数则是通过对象调用起作用. 注意,流操纵符一般都在iomanip.h中,而成员函数一般都在iostream.h中. 进制相关 整型数字的显示格式 操纵符 设置进制 int n = 100; cout << dec << n << endl; //十进制 cout <&l

python变量及用户交互,用户名格式化输出

变量 name = wwjun Name2 = "wwjun" print ("name,Name2") 用户交互 Username = input ("username:") Password = input ("password:") Print(username,password) 用户名格式化输出 name = input ("name:") age = input ("age:"