iomanip在c++程序里面经常见到下面的头文件#include ,io代表输入输出,manip是manipulator(操纵器)的缩写(在c++上只能通过输入缩写才有效。)百度文库概念
通常在用C++编程进行格式化输出的时候我们会用到iomanip这个头文件。常用的几个操作有:
- setw(int n):设置域的宽度为n;
- setfill(char c):设置域的默认填充字符为c;
- setprecision(long n):设置域的有效数字长度为n;
- setbase(int n):设置进制转换的基数;
- setiosflags(ios::fixed):固定的浮点显示;
- setiosflags(ios::left):左对齐;
- setiosflags(ios::right):右对齐;
实例:数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。输入数据有多组,每组占一行,由两个整数n(n < 10000)和m(m < 1000)组成,n和m的含义如前所述。对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。
#include<iostream>
#include<cmath>
#include<iomanip>
int main(){
float n;
int m;
while(std::cin>>n>>m){
float res=0.0;
for(int i=0;i<m;++i){
res+=n;
n=sqrt(n);
}
std::cout<<std::setiosflags(std::ios::fixed)<<std::setiosflags(std::ios::right)<<std::setw(10)<<std::setprecision(2)<<res<<std::endl;
}
return 0;
}
实验截图(两组测试数据):