四舍六入五留双

本文介绍了一种使用C++实现的四舍六入五留双的近似算法,该算法用于将实数保留指定小数位数,确保在0.5的情况下向偶数进位。通过示例代码展示了如何利用setprecision函数实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

输入一个实数f,和一个位数d

输出实数f,在保留d位小数下的结果,采用四舍六入五留双的近似。

f至多有30位小数。

0 <= f <= 1

1 <= d <= 8

所谓四舍六入五留双,是指如果恰好是0.5的情况,会把他近似到使得前一位是偶数。

比如近似到整数,0.4为0,0.5为0,0.50001为1,0.6为1,1.5为2,2.5为2。

收起

输入

一行一个浮点数f和一个位数d。

输出

一行一个浮点数表示答案

输入样例

0.123456789 5

输出样例

0.12346

说实话,这个题目一看吓我一跳,这么高深的题目,思路不是很明确,题意也没大读懂,可是还要保留固定的位数啊,我又想到了setprecision,代码如下:

#include<bits/stdc++.h>
#include<iostream>
#include<cstring>
#include <algorithm>
using namespace std;
#define ll  long long
ll ans[9000000];
int main()
{
    ll n,m,k;double a;
cin>>a>>n;
  cout<<fixed<<setprecision(n)<<a;
}

     吐槽一下这题真水,再提醒我自己补了这一块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值