2 weixin 40224801 weixin_40224801 于 2017.09.15 21:48 提问

round函数的C语言代码怎么写? 5C

用C语言编写round函数,本人的C语言的math库不能用了,想自己写个round函数

2个回答

songhailiang020607
songhailiang020607   2017.09.16 10:51

首先判断这个数是正数还是负数,然后是整数的话,看小数位是否大于0.5,是的话,就把整数部分加1,然后取整数部分,否则直接取整数部分;负数的处理类似。

u010904759
u010904759   2017.09.17 10:21

int round(double );
返回距离参数最近的整数,如果参数值正好在两个整数的中间位置,则返回距离0较远的那一个整数(即正数则返回大于参数的整数,负数则返回小于参数的整数)。我下面 给你大概实现一下:
int round(double num)
{
int ret = 0; //结果
bool isMid = false; //是否中间
//分正负处理
if(num>=0)
{
//if(num%1 == 0.5 )
if(num%1 >=0.4999999 && num%1<=0.5000001) //当是中间的情况
ret = num/1;
else
ret = (num+0.5)/1;

}else{
        if(num%1 >=0.4999999 && num%1<=0.5000001) //当是中间的情况
            ret = num/1 - 1;
        else
            ret = (num-0.5)/1;
}//else
return ret;

}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C语言标准库中round函数
本文转自---http://demon.tw/programming/c-round.html C语言标准库中有没有round函数?答案是,可能有,也可能没有。这取决于你使用的编译器,更准确地说,是编辑器是否支持C99标准。 让我们简单回顾一下C语言标准的历史:C的第一个标准是由美国国家标准协会(ANSI)发布的。虽然这份文档后来被国际标准化组织(ISO)采纳并且ISO发布的修订版也被AN
c --- 自编写四舍五入的myround函数
#include float myround(float x); int main(void) { float sc = 0.0; scanf ("%f",&sc); float dd = myround (sc); printf("%f\n", dd); return 0; } float myround(float x) { float result = 2.0;
round 函数
round 函数 Round to nearest integer 舍入为最近的整数(四舍五入) Syntax 语法 Y = round(X) Description 描述 Y = round(X) rounds the elements of X to the nearest integers. For complex X, the imaginary and real part
c++中没有round函数!!
转载文章,关于c++round
C/C++ 数学函数 ceil(), floor(), round()
原文链接:http://zebozhuang.blog.163.com/blog/static/1714798042011325111616224/ 用法: ceil(x)返回不小于x的最小整数值(然后转换为double型)。 floor(x)返回不大于x的最大整数值。 round(x)返回x的四舍五入整数值。 给个例子test.c: #include #include int
R语言中round()函数的使用
round(timeDate) round()所属R语言包:timeDate                                         Rounding and Truncating 'timeDate' Objects                                          四舍五入和截断TIMEDATE对象的         
用C语言实现对N个进程的简单时间片轮转法Round Robin的调度模拟
/*****时间片轮转法进行CPU调度算法********/ #include #include #include #define N 10   //定义最大进程数 #define TIME 2//定义时间片大小 typedef struct pcb{ char id[10];//进程标识数 //int priority;//进程优先数 int arrivetime;//到达时间
C++中floor,ceil , round , rint用法
1.Math.floor floor,英文原意:地板。  Math.floor 函数是求一个浮点数的地板,就是 向下 求一个最接近它的整数,它的  值肯定会小于或等于这个浮点数。 再看下面的例子的时候,脑中想象一个竖着的数轴,负数在下,正数在上。这样对于向上取整和向下取整的说法,可能会更容易理解。 例子: System.out.println("Math.f
c++四舍五入函数,向上取整,向下取整函数
对含有小数点的数进行四舍五入是比较普遍的一种需求。在C++中也有类似的取整函数。在C++的头文件中有floor()和ceil()函数。在STL中还有round()函数。这三个函数的作用如下:             函数名称 函数说明 2.1 2.9 -2.1 -2.9 Floor() 不大于自变量的最大整数 2 2 -3 -
C语言有以下几种取整方法:
C语言有以下几种取整方法:    1、直接赋值给整数变量。如:    int i = 2.5; 或 i = (int) 2.5;    这种方法采用的是舍去小数部分。    2、C/C++中的整数除法运算符&quot;/&quot;本身就有取整功能(int / int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,但是整数除法对负数的取整结果和使用的C编译器有关。      3、使用...