首页 热点资讯 义务教育 高等教育 出国留学 考研考公

C程序里,怎样做到四舍五入?

发布网友 发布时间:2022-04-22 14:12

我来回答

2个回答

热心网友 时间:2022-07-12 06:49

方法一:

#include<stdio.h> 

int main()

{

    double d1,d2,d3;

    d1=-3.1415926;

    d2=(int)(d1*10+0.5)*0.1;

    printf("d1=%f,保留一位小数的结果为:%.1f\n",d1,d2);

    d3=(int)(d1*1000+0.5)*0.001;

    printf("d1=%f,保留三位小数的结果为:%.3f",d1,d3);

总结四舍五入保留n为小数

(int)(x*10的n次方+0.5)*10的负n次方;

其次这个方法对负数无效;如果非要用可以先取正数部分算,最后加上负号

}

方法二:

使用round()函数。

#include"stdio.h"

#include"math.h"

void main()

{

float x;

scanf("%f",&x);

int y = round(x);

printf("%d",y);

}

扩展资料:

C语言编写注意事项:

1、%运算符不能应用与float或double类型。

2、char类型转换为int型时, 无法判断它是signed还是unsigned.这样其结果有可能为负数, 因此转换时尽量指定signed和unsigned*符。

3、++i与i++不同之处: ++i是先+1在使用, i++是先使用i在递加1。

4、三元运算符"?:" 第一个表达式的括号不是必须的,但是由于三元表达式的优先级非常低,我们还是将第一个表达式用()括起便于阅读和理解。

5、C语言中可以使用递归 (即函数调用自身函数), 其不节省储存器开销也不加快执行速度, 只是使程序紧凑便于理解。

热心网友 时间:2022-07-12 06:50

这个很简单的。
比如有一个浮点数float a,要四舍五入只要这样:
int ia = (int)(a + 0.5)。只要a的小数>=0.5,a+0.5的整数位就会进一,然后取整;
小于0.5呢,取整还是原数。
简单吧。追问  #include int main (){ int a,b,cfloat d;while(scanf("%d%d%d",&a,&b,&c)!=EOF){ d=((a+b+c)/3.0); int id=(int)(d+0.5);printf("math=%d,eng=%d,comp=%d,average=%f",a,b,c,d);}return 0;}

  

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com