C回顧3之遞迴的使用

2021-08-27 14:22:17 字數 1054 閱讀 5891

1.遞迴和非遞迴分別實現求第n個斐波那契數。

#include#include#pragma warning(disable:4996)

int fib(int n)//迭代

return first;

}int fib_r(int n)//遞迴

else }

int main()

2.編寫乙個函式實現n^k,使用遞迴實現

#include#include#pragma warning(disable:4996)

int pow(int n, int k)

return 1;

}int main()

3. 寫乙個遞迴函式digitsum(n),輸入乙個非負整數,返回組成它的數字之和,例如,呼叫digitsum(1729),則應該返回1+7+2+9,它的和是19。

#include#include#pragma warning(disable:4996)

int digitsum(int n)

return n;

}int main()

4. 編寫乙個函式reverse_string(char * string)(遞迴實現) 

實現:將引數字串中的字元反向排列。 

要求:不能使用c函式庫中 

的字串操作函式。

#include#include#includevoid reverse_string(char* string)

}int main()

5.遞迴和非遞迴分別實現strlen

#include#includeint count = 0;

int strlen_r(char* a)

return count;

}int strlen(char* a)

return count;

}int main()

C 回顧之函式

區域性靜態物件 第一次經過物件定義語句時初始化,之後不再執行初始化語句,直到程式終止物件才會被銷毀。給函式傳遞引數時盡量使用引用避免拷貝,同時如果函式無須改變引用形參的值,最好將其宣告為常量引用,這很重要,能夠避免很多錯誤。頂層const和底層const。頂層const是指標本身是const不可改變...

C 回顧之順序容器

順序容器型別 vector deque 雙端佇列,也可快速隨機訪問 list 雙向鍊錶 forward list 單向鍊錶 array 比內建陣列更安全 string string 和 vector 都是將元素儲存在連續的記憶體空間。快速隨機訪問,但插入刪除就很慢。應該使用標準庫容器,而不是原始的資...

FPGA學習回顧之IIC的使用

硬體 黑金ax301 教程 黑金附贈教程 用途 記錄fpga中iic的訊號走向以及實施過程 i2c master top的狀態機走向 頂層i2c write req為1 s idle s wr dev addr s wr reg addr s wr reg addr1 如果i2c addr 2byt...