C语言中的四舍五入

我们知道,C语言直接取整是不能实现四舍五入的,我们需要靠自己的方法实现四舍五入。而且有不少题目会在浮点数的输出中要求我们四舍五入。所以学会用C语言实现四舍五入还是很有必要的。本篇文章我们介绍两种方法。

方法一:利用取整规则(不使用库函数)

先从简单的开始,比如我们现在需要将一些小数进行四舍五入并输出,比如3.5, 3.4, 3.7。请看代码:

#include <stdio.h>
int main()
{float arr[3] = { 3.5, 3.4, 3.7 };printf("将arr内容四舍五入后:\n");for (int i = 0; i < 3; i++){printf("%d\n", (int)(arr[i] + 0.5));}
}

程序运行结果:

所以我们可以得到一个公式,将一位小数四舍五入的方法:(int)(浮点数+0.5);

那我们如何实现将3.1415这种浮点数进行四舍五入呢? 比如现在要求我们保留三位小数输出。
这里我们采用的方法是:先将3.1415扩大1000倍,变成3141.5,进行四舍五入后,变成3142,再缩小1000倍变成3.142。 请看代码:

#include <stdio.h>
int main()
{float num = 3.1415;num = (int)(num * 1000 + 0.5) / 1000.0;printf("%.3f", num);
}

程序运行结果:

其中特别注意的是num = (int)(num * 1000 + 0.5) / 1000.0;这里是除以1000.0,只有浮点数运算,才能使结果为浮点数。

方法二:使用库函数

C语言提供了一个四舍五入的库函数,round函数。我们去官网看看它的介绍吧!

我们其实只需要了解三个内容:1.库函数需要引用<math.h>头文件;2.传入参数为浮点数类型;3.返回一个整数。
就行了我们试着使用一下吧。比如我们需要将3.14159保留四位小数输出,需要四舍五入。请看代码:

#include <stdio.h>
#include <math.h>
int main()
{float num = 3.14159;num = round(num * 10000) / 10000.0;printf("%.4f", num);
}

程序运行结果:

总结

看到这里,我想你应该学会了如何用C语言实现四舍五入了吧?那我提一个小问题吧:第一种方法,如果是负数的话该如何进行四舍五入呢?可以在评论区告诉我哟。答案我会公布在动态。如果本篇博客有什么问题的话请大佬提出,我一定会积极改正!
顺便预告一下下一期的博客吧,下一期博客我会讲解一下C语言递归的一个经典问题:汉诺塔。

四舍五入(C语言实现)相关推荐

  1. 使用python函数计算3.5四舍五入的结果_python 数字的四舍五入-Go语言中文社区

    python 数字的四舍五入 问题 你想对浮点数执行指定精度的舍入运算. 解决方案 对于简单的舍入运算,使用内置的 round(value, ndigits) 函数即可.比如: 当一个值刚好在两个边界 ...

  2. c语言强制转换是四舍五入,c语言强制转换四舍五入.docx

    c语言强制转换四舍五入 在C语言中,强制转换后的数是四舍五入还是去尾?去尾要想四舍五入的话(int)(number+0.5)都是直接去尾的.当为数太多时直接截断.所以在强制转换时要很注意C语言有没有数 ...

  3. c语言为什么除法会四舍五入,C语言学习(2)

    C语言代码编写规范 第一个:注意缩进 用tab键缩进对齐 第二个:适当的空行 第三个:注释,简明扼要 C语言注释只有两种写法: 第一种:单行注释    //注释文字 第二种:块注释  /*  注释的内 ...

  4. 1507四舍五入c语言,EXCEL中四舍五入该怎么办

    2018-02-10 03:43:34 这个问题真的很简单,改改格式就OK 全部 2018-02-10 03:43:34 2018-02-10 03:43:34 在设置单元格式中选数值就行了 全部 2 ...

  5. C语言实现四舍五入 c语言实现四舍五入

    直接上代码 #include<stdio.h> int main() {double a=0;scanf("%lf",&a);printf("%.0l ...

  6. c语言 4.2f四舍五入,C语言编程中%4.2f是什么意思

    输出一个浮点型数据,最小宽度为4个字符宽(包括小数点在内),不足4位右对齐,左补空格,小数点后保留两位小数. 如: printf("%4.2f", 1.2 ); //输出结果 1. ...

  7. 1507四舍五入c语言,JavaScript中用于四舍五入的Math.round()方法讲解

    此方法返回一个数四舍五入为最接近的整数的值. 语法 Math.round( x ) ; 下面是参数的详细信息: x: 一个数字 返回值: 返回数字四舍五入为最接近的整数的值. 例子: JavaScri ...

  8. 1507四舍五入c语言,Excel工作表中的“四舍五入”都不掌握,还敢称Excel达人?

    小学数学知识中有一个知识点,就是根据不同的情况对数值进行取舍,也就是"四舍五入",相信大家并不陌生,但在Excel工作表中,如果对数值进行"四舍五入"呢? 一. ...

  9. 四舍五入C语言(愚人节快乐)

    定义两个小数,num1,num2,求他们的和,四舍五入保留整数 思路:将double型变量强行转换为int型时会省去小数部分,所以给这个小数加0.5. 例如 : #include <stdio. ...

  10. java不四舍五入_JAVA-四舍五入之坑

    四舍五入:四舍五入是一种精确度的计数保留法,与其他方法本质相同.但特殊之处在于,采用四舍五入,能使被保留部分的与实际值差值不超过最后一位数量级的二分之一:假如0-9等概率出现的话,对大量的被保留数据, ...

最新文章

  1. 2020年度总结(只有做好自己不喜欢的事情你才能做自己喜欢的事情)
  2. 和某ZYC巨佬和XXY巨佬的随机挑战2总结
  3. 汽车仿真效率30%↑、药物研发效率20倍↑,阿里云获HPC CHINA 2020“最佳行业应用奖”
  4. Redis从入门到精通|干货篇
  5. html5 api dom 文档,javascript dom操作API
  6. EXT Column Tree 的应用
  7. 函数式编程-尾递归、尾调用
  8. MSagent 学习笔记
  9. 运动控制卡选型和特点讨论
  10. W3Cschool凯撒(Caesar cipher)位移密码算法,通俗易懂,已知最佳,不服来战!
  11. 魔兽世界拍卖行稳定服务器,魔兽世界TBC:大量玩家拍卖行卡到抓狂,分析其中可能的原因...
  12. 北大计算机复试被刷经历,为什么那么多高分被刷?复试真的有黑幕吗?
  13. 易中天∑品读汉代风云人物
  14. 数据结构与算法java - 03 链表,单向链表,逆序打印单向链表
  15. 深入Kubernetes 之 DaemonSet :容器化守护进程
  16. HTML实现一个简单的图片自动显示特效
  17. 基于深度学习的三维重建算法综述
  18. mac远程连接腾讯云虚拟机
  19. 全球与中国2-碘吡啶市场深度研究分析报告
  20. linux调试器——gdb

热门文章

  1. 不一样的申报!2022年湖北省制造业单项冠军企业(产品)奖励标准以及申报条件
  2. Python用qrcode和PIL制作二维码并添加汉字(用Python在图片上添加汉字)
  3. Python中json自定义jsonschema进行json数据格式校验
  4. 工业镜头在检测中的作用
  5. 计算机网络拓扑图ppt,《计算机网络拓扑结构》.ppt
  6. 君澜与桐乡乌镇黄金水岸大酒店签署委托管理协议
  7. matlab 结构张量,图像处理中的结构张量(structure tensor)
  8. 黄明:行为金融学和量化投资的应用
  9. 存货核算凭证无法删除的修复 U8 10.1存货核算中的凭证列表显示时,部分凭证会分两行显示,且不能删除...
  10. 行测-判断推理-图形推理-位置规律-平移