C語言 有關遞迴 非遞迴的題

2021-09-28 21:14:41 字數 2396 閱讀 8153

#include

#include

#pragma warning(disable:4996)

intmul

(int n,

int k)

//函式實現

intmain()

//遞迴

#include

#include

#pragma warning(disable:4996)

//abcd---> 1+my_strlen(bcd)

//bcd---> 1+my_strlen(cd)

//...

//my_strlen(" ")

intmy_strlen

(char

*a)//函式實現

intmain()

//非遞迴

#include

#include

#pragma warning(disable:4996)

//函式實現部分

int_strlen

(char

*a)return count;

}int

main()

#include

#include

#pragma warning(disable:4996)

//列印4,先列印 123

//列印3,先列印12

//列印2,先列印1

void

print

(int n)

//列印函式實現部分

printf

("%d "

, n %10)

}int

main()

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

//遞迴

#include

#include

#pragma warning(disable:4996)

intdig

(int n)

intmain()

//非遞迴

#include

#include

#pragma warning(disable:4996)

void

my_dig

(int n)

sn = sum + n;

printf

("%d\n"

, sn);}

intmain()

//遞迴

#include

#include

#pragma warning(disable:4996)

//思路:n! --> n*(n-1)! --> n*(n-1)*(n-2) --> n*(n-1) * (n-2).....1!

intfact

(int n)

//函式實現

intmain()

//非遞迴(用迴圈寫)

(結果同上)

#include

#include

#pragma warning(disable:4996)

intfact

(int n)

//求階乘的函式實現部分

return sum;

}int

main()

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

遞迴

#include

#include

#pragma warning(disable:4996)

void

reverse_str

(char

*str)

reverse_str

(str +1)

;printf

("%c"

,*str);}

intmain()

非遞迴

void

reverse_str

(char

*str)

printf

("\n");

}int

main()

c語言快速排序 遞迴與非遞迴實現

遞迴 1 先在待排序序列中選擇乙個基準資料,一般常用的就是第乙個資料 2 i,j i從前向後 j從後向前 當i j時,進入迴圈 1 從後向前找第乙個比基準小的資料 i 在start位置 end位置 和中間位置找到中位數,將其換到start位置 void getmodnum int arr,int s...

C語言 Fibonacci數列 非遞迴

問題描述 fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。include includeint n 10007 void print 輸出簡易選單 int main void fn f1 i...

strlen 遞迴 非遞迴C實現

看題之前,先來簡單了解一下strlen char 函式 標頭檔案 include 它所做的僅是乙個計數器的工作,它從記憶體的某個位置 可以是字串開頭,中間部分,或者不確定的某段記憶體區域 開始掃瞄,直到遇到第乙個字串結束符 0 結束,返回計數器值 不包含 0 include includeint r...