iT邦幫忙

2021 iThome 鐵人賽

DAY 25
0
自我挑戰組

腦力激盪C++系列 第 25

[Day-25] math函式庫(一)

  • 分享至 

  • xImage
  •  

今天要來練習的是
C++內建的函式庫
首先要先引入函式庫

#include <cmath>

今天會著重練習
比較常用也比較簡單的函式
「cmath」就是主要是數學運算的函式
等等會練習的有以下幾點:
◆四捨五入
◆向上取整
◆向下取整
◆無條件捨去

以下就開始今天的練習囉

1. 四捨五入

程式碼:

#include <iostream>
#include <math.h>
using namespace std;

int main(){
	float s[4]= {1.3, 8.7, 46.5, 11.1};

	for(int i = 0; i<=3; i++){
		cout << roundf(s[i]) <<'\n'; 
	}
	
	return 0;
}

執行結果:

1
9
47
11
--------------------------------
Process exited after 0.08787 seconds with return value 0
請按任意鍵繼續...

使用roundf()的函式就能用數學運算出四捨五入的結果
這邊回傳的值為float

2.向上取整

程式碼:

#include <iostream>
#include <math.h>
using namespace std;

int main(){
	float s[4]= {1.3, 8.7, 46.5, 11.1};

	for(int i = 0; i<=3; i++){
		cout << ceil(s[i]) <<'\n'; 
	}
	
	return 0;
}

執行結果:

2
9
47
12
--------------------------------
Process exited after 0.08787 seconds with return value 0
請按任意鍵繼續...

使用ceil()的函式就能用數學運算出向上取整的結果
這邊回傳的值為float

3.向下取整

程式碼:

#include <iostream>
#include <math.h>
using namespace std;

int main(){
	float s[4]= {1.3, 8.7, 46.5, 11.1};

	for(int i = 0; i<=3; i++){
		cout << floor(s[i]) <<'\n'; 
	}
	
	return 0;
}

執行結果:

1
8
46
11
--------------------------------
Process exited after 0.08787 seconds with return value 0
請按任意鍵繼續...

使用floor()的函式就能用數學運算出向下取整的結果
這邊回傳的值為float

4.無條件捨去

程式碼:

#include <iostream>
#include <math.h>
using namespace std;

int main(){
	float s[4]= {1.3, 8.7, 46.5, 11.1};

	for(int i = 0; i<=3; i++){
		cout << trunc(s[i]) <<'\n'; 
	}
	
	return 0;
}

執行結果:

1
8
46
11
--------------------------------
Process exited after 0.08787 seconds with return value 0
請按任意鍵繼續...

使用trunc()的函式就能用數學運算出無條件捨去的結果
這邊回傳的值為float
/images/emoticon/emoticon07.gif

學會了以上基本的數學運算
就可以應用在很多地方上
程式碼就不會太冗長
今天就練習到這邊囉~
下次會再練習更多關於函式庫「cmath」裡面的函式
/images/emoticon/emoticon08.gif

-End-


上一篇
[Day-24] 小練習十進制轉二進制
下一篇
[Day-26] math函式庫(二)
系列文
腦力激盪C++30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言