講師:張餅ya、立ya(代替確診派對仔上課)
建電大赦課[6]
丟一個x進去,跑出對應的y
type 自定義函數名(參數) { /* 你想做的事 */ return 回傳變數; }
要使用前宣告!
#include <iostream> using namespace std; int f(int x){ return 2*x+1; } int main(){ cout << f(1) << endl; cout << f(5) << endl; cout << f(10000) << endl; }
輸出:
為啥要用函數
(void例外)
當函數類型不是void時,就需要return
促使Function結束並回傳
int minus(int a,int b){ return a-b; } int num = minus(1,2); cout<<num<<endl; //num = -1
int divide(int a,int b){ if(b==0){ return -1; } return a/b; }
然後其實void也可以return喔~
只是不是return值,是直接return
int ???(int a,int b,int c){ //你要做的事 return x1,x2; }
不能這麼做!
std::pair
struct
只能做為函數類型 , 不能作為變數型別
void im_lemonilemon_status() { cout << "lemon tested positive\n"; }
void沒有回傳變數,可以不用return
gcd(a,b)
:回傳a和b的最大公因數
lcm(a,b)
:回傳a和b的最小公倍數
swap(a,b)
:交換a和b
max(a,b)
:回傳a或b較大的那個
min(a,b)
:回傳a或b較小的那個
abs(n)
:回傳絕對值n
swap(a, b)
交換a, b的值min(a, b)
回傳比較小的那個gcd(a, b)
回傳最大公因數int min(int a, int b){ if(a<b){ return a; }else{ return b; } }
int gcd(int a, int b){ if(a>b) swap(a, b); while(a!=b){ if(a > b){ a -= b; } else{ b -= a; } } return a; }
int gcd(int a, int b){ if(a<b) swap(a,b); int tmp = 1; while(tmp != 0){ tmp=a%b; a=b; b=tmp; } return a; }
void swap(int &a, int &b){ //&是參考,之後會學到 int temp; temp = a; a = b; b = temp; }
lcm(a,b)
:回傳a和b的最小公倍數
min(a,b)
:回傳a或b較小的那個
abs(n)
:回傳絕對值n
祝我們不會被imlemonilemon傳染