遞迴的使用

2021-09-22 14:08:25 字數 1681 閱讀 4762

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

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

3. 寫乙個遞迴函式digitsum(n),輸入乙個非負整數,返回組成它的數字之和,

例如,呼叫digitsum(1729),則應該返回1+7+2+9,它的和是19

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

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

要求:不能使用c函式庫中的字串操作函式。

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

6.遞迴和非遞迴分別實現求n的階乘

7.遞迴方式實現列印乙個整數的每一位  

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

#include#include//遞迴

int fib1(int n)

//非遞迴

int fib2(int n)

return third;

}int main()

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

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

int pow(int n, int k)

else if (k == 1)

else }

int main()

//3. 寫乙個遞迴函式digitsum(n),輸入乙個非負整數,返回組成它的數字之和,

//例如,呼叫digitsum(1729),則應該返回1 + 7 + 2 + 9,它的和是19

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

int digitsum(int n)

return sum;

}int main()

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

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

//要求:不能使用c函式庫中的字串操作函式。

#include#includevoid reverse_string(char * str)

printf("%c", *(str - 1));

}int main()

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

#include#include//非遞迴

int strlen1(char* str)

return count;

}//遞迴

int strlen2(char* str)

else }

int main()

//6.遞迴和非遞迴分別實現求n的階乘

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

//遞迴

int fact1(int n)

//非遞迴

int fact2(int n)

return result;

}int main()

//7.遞迴方式實現列印乙個整數的每一位

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

void print(int num)

printf("%d ", num % 10);

}int main()

遞迴的使用

遞迴即方法體內呼叫自身方法,如果沒有十足的把握就盡量不要使用遞迴方法 用不好就出現記憶體溢位 如果沒有十足的把握就盡量不要使用遞迴方法,用不好就會出現記憶體溢位 一定要給遞迴函式出口 尋找遞迴的出口很重要。遍歷某個目錄下的所有檔案 使用遞迴的方法 迭代出某個目錄下的所有檔案。public stati...

遞迴的使用?

直接或間接的呼叫自己的函式稱為遞迴函式。乙個過程或函式在其定義或說明中有直接或間接呼叫自身的一種方法,它通常把乙個大型複雜的問題層層轉化為乙個與原問題相似的規模較小的問題來求解,遞迴策略只需少量的程式就可描述出解題過程所需要的多次重複計算,大大地減少了程式的 量。遞迴的主要思考方式在於 把大事化小 ...

遞迴的使用

package com.liaojianya.chapter1 this program demonstrates the use of recursion method.implementing 1 2 3 n.author liao jianya 2016年7月21日 public class ...