C++中的小数位数控制和有效数字控制


在这里插入图片描述

首先来看看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
这个如果位数不够则补零

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值