C++中的小数位数控制和有效数字控制
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ef86e883d1e486c6b7dd4e46be263d62.gif)
首先来看看C++小数位数控制
CCF-201903-1 小中大
代码中认识如何控制小数位数—外加algorithm函数sort()
#include<iostream>
#include<iomanip>
#include<algorithm>
using namespace std;
const int maxn=1e5;
int main(){
int n;
cin>>n;
int num[maxn];
for(int i=0;i<n;i++){
cin>>num[i];
}
sort(num,num+n);
if(n%2==1){
cout<<num[n-1]<<" "<<num[n/2]<<" "<<num[0]<<endl;
}else{
double mid=(num[n/2-1]+num[n/2])/2.0;
int mid2=(int)mid;
if(mid!=mid2){
cout<<num[n-1]<<" ";
cout<<fixed<<setprecision(1)<<mid<<" "<<num[0]<<endl; //核心代码
}else{
cout<<num[n-1]<<" "<<mid2<<" "<<num[0]<<endl;
}
}
}
我们采用cout<<fixed<<setprecision()就可以控制小数的输出位数了
如何控制有效输出位数呢?
从代码认识
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
int n=2;
cout<<setw(2)<<n<<endl;
cout<<setw(2)<<setfill('0')<<n<<endl;
}
结果
总结
如果要控制小数位数:
cout<<fixed<<setprecision(2)<<
这个是控制两位小数
如果要控制有效数位:
cout<<setw(2)<<n<<endl;
这个是控制有效数位为2
cout<<setw(2)<<setfill(‘0’)<<n<<endl
这个如果位数不够则补零