我们知道,C语言直接取整是不能实现四舍五入的,我们需要靠自己的方法实现四舍五入。而且有不少题目会在浮点数的输出中要求我们四舍五入。所以学会用C语言实现四舍五入还是很有必要的。本篇文章我们介绍两种方法。
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比柯城网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式柯城网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖柯城地区。费用合理售后完善,十余年实体公司更值得信赖。方法一:利用取整规则(不使用库函数)先从简单的开始,比如我们现在需要将一些小数进行四舍五入并输出,比如3.5, 3.4, 3.7。请看代码:
#includeint 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。 请看代码:
#includeint 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.库函数需要引用
就行了我们试着使用一下吧。比如我们需要将3.14159保留四位小数输出,需要四舍五入。请看代码:
#include#includeint main()
{float num = 3.14159;
num = round(num * 10000) / 10000.0;
printf("%.4f", num);
}
程序运行结果:
看到这里,我想你应该学会了如何用C语言实现四舍五入了吧?那我提一个小问题吧:第一种方法,如果是负数的话该如何进行四舍五入呢?可以在评论区告诉我哟。答案我会公布在动态。如果本篇博客有什么问题的话请大佬提出,我一定会积极改正!
顺便预告一下下一期的博客吧,下一期博客我会讲解一下C语言递归的一个经典问题:汉诺塔。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文标题:四舍五入(C语言实现)-创新互联
文章源于:http://lswzjz.com/article/psphj.html