关于输出精度的设置(2020.11.29)

@ 调和平均数
N 个正数的算数平均是这些数的和除以 N,它们的调和平均是它们倒数的算数平均的倒数。本题就请你计算给定的一系列正数的调和平均值。
输入格式:

每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 N (≤1000);第 2 行给出 N 个正数,都在区间 [0.1,100] 内。

输出格式:

在一行中输出给定数列的调和平均值,输出小数点后2位。

输入样例:

8
10 15 12.7 0.3 4 13 1 15.6
输出样例:

1.61

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int N;
	N<=10000;cin>>N;
	double a[1003]={0};
	for(int i=0;i<N;i++)
	{
		cin>>a[i];
	}
	double sum=0;
	for(int i=0;i<N;i++)
	{
		sum+=(1/a[i]);
	}
	double x;
	x=sum/N;
	//cout<<setprecision(3)<<1/x<<endl;此步有问题,详情请看下文
	cout<<setiosflags(ios::fixed)<<setprecision(2)<<1/x<<endl;
	return 0;
}

设置输出精度需要使用

#include<iomanip>

cout<<setprecision(x)<<表达式<<endl;
只有在这项设置后,setprecision才是设置小数的位数。
输出几位小数,x就为几。

在2020.12.27日,我发现我这么表示有问题,对于被误导的兄弟们 ,我表示十分抱歉,下面,我将补全这个输出精度的表示:对于setprecision(x),其表示的是输出的数字的总个数,如对于1.3333,若x设置为2的话,那么它其实输出的是1.3。而如果想控制小数点后面位数的输出的话,则必须加上setiosflags(ios::fixed)与setprecision(x)连用,此时的x才是代表小数点后的数字的个数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值