栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

修约函数,四舍六入五看齐,奇进偶不进的C++实现方法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

修约函数,四舍六入五看齐,奇进偶不进的C++实现方法

修约函数,也称为银行家算法,相比较于传统的四舍五入,这种进位方式在某些场合下优先级更高,泛用性更强

#include 
#include 
#include 
using namespace std;
//获取个位数字
int Getnum(double n){
    int a,b;
    a = n;
    b = n / 10;
    return a - b * 10;
} 
//修约函数,n为保留的位数,a为需要修正的数字 
double Fixfunction(int n,double a){
    int num1,num2;
    num1 = Getnum(a * pow(10,n));
    num2 = Getnum(a * pow(10,n+1));
    if(num2 < 5){
        double a1 = a * pow(10,n);
        int a2 = a1;
        double a3 = a2 / pow(10,n);
        return a3;
    }
    else if(num2 > 5){
        double b = a * pow(10,n) + 1;
        int b1 = b;
        double b2 = b1 / pow(10,n);
        return b2;
    }
    else if(num2 == 5){
        if(num1 % 2 == 0){
            double c = a * pow(10,n);
            int c1 = c;
            double c2 = c1 / pow(10,n);
            return c2;
        }
        else{
            double d = a * pow(10,n) + 1;
            int d1 = d;
            double d2 = d1 / pow(10,n);
            return d2;
        }
    } 
}  

可用于大学物理实验的数据处理当中

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/929043.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号