我們知道,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++教程歡迎持續關注編程學習網
掃碼二維碼 獲取免費視頻學習資料
- 本文固定鏈接: http://www.wangchenghua.com/post/10142/
- 轉載請注明:轉載必須在正文中標注并保留原文鏈接
- 掃碼: 掃上方二維碼獲取免費視頻資料