C語言練習7

2021-09-24 22:04:10 字數 2500 閱讀 5361

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

#define  _crt_secure_no_warnings

#include

#include

intfibonacci

(int n)

return

fibonacci

(n -1)

+fibonacci

(n -2)

;}intfibonacci

(int n)

return f3;

}int

main()

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

#define _crt_secure_no_warnings

#include

#include

intpow

(int n,

int k)

return n*

pow(n,k-1)

;}intmain()

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

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

#define _crt_secure_no_warnings

#include

#include

intdigitsum

(unsigned

int num)

return num;

}int

main()

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

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

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

#define _crt_secure_no_warnings

#include #include #include #include char* reverse_string(char* str)

return str;

}int main();

char ch;

printf("請輸入乙個字串(10個字元以內,以換行符終止):");

for (int i = 0; i < 10; i++)

break;

} printf("字串元素為:\t");

puts(str);

reverse_string(str);

printf("倒序輸出為:\t");

puts(str);

system("pause");

return 0;

}

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

#define  _crt_secure_no_warnings

#include

#include

intstrlen

(char

* n)

return count;

}int

mystrlen

(char

*n)return1+

mystrlen

(n +1)

;}intmain()

;int ret =0;

printf

("請輸入字串:");

scanf

("%s"

, n)

; ret =

mystrlen

(n )

;printf

("%d\n"

, ret)

;system

("pause");

return0;

}

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

#define  _crt_secure_no_warnings

#include

#include

intfactorial

(int n)

return1;

}int

main()

printf

("%d\n"

, ret)

;system

("pause");

return0;

}

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

#define _crt_secure_no_warnings

#include

#include

void

printnum

(unsigned

int num)

printf

("%d "

, num %10)

;}void

print

(int num)

}int

main()

C語言練習 7

1.遞迴和非遞迴分別實現求第n個斐波那契數。非遞迴 int fibnotrecursion int n int prenum 1 int preprenum 1 int result 1 for int i 2 i n i return result 遞迴 int fibrecursion int ...

C語言模擬練習(7)

1.乙個陣列中只有兩個數字是出現一次,其他所有數字都出現了兩次。找出這兩個數字,程式設計實現。include void find int arr,int sz 查詢只出現一次的數字 if 1 k 出現1次為1 出現2次為2 int main int sz sizeof arr sizeof arr ...

C語言練習

練習1 include stdlib.h include iostream.h include stdio.h void main cout 輸入檔案1的資料內容 以 結束 while ch stu n void input char a a用於接收要寫入資料的檔名 inti file fp if ...