C語言函式,遞迴,功能模組標頭檔案 習題

2021-08-21 14:30:53 字數 1987 閱讀 5953

遞迴:直接或者間接呼叫自身函式

1. 返回值 函式名(形參)

注:  1,when從什麼時候     2,when到什麼時候結束     3,what 每次遞迴時你需要幹嘛

習題:斐波那契數列(fibonacci sequence),又稱**分割數列、因數學家列昂納多·斐波那契(leonardoda fibonacci)以兔子繁殖為例子而引入,故又稱為「兔子數列」,指的是這樣乙個數列:1、1、2、3、5、8、13、21、34、……在數學上,斐波納契數列以如下被以遞迴的方法定義:f(1)=1,f(2)=1, f(n)=f(n-1)+f(n-2)(n>=2,n∈n*)在現代物理、準晶體結構、化學等領域,斐波納契數列都有直接的應用,為此,美國數學會從2023年起出版了以《斐波納契數列季刊》為名的乙份數學雜誌,用於專門刊載這方面的研究成果。求斐波那契數列:

以兔子繁衍來說 , 首先有一對成熟的兔子生下乙隻兔子, 過兩個月才會生下乙隻幼兔 , 乙隻幼兔需要過乙個月長大 , 兩個月成熟 , 成熟後生下乙隻兔子 , 幼兔也是如此 .

成熟 : 1   1   1   2   3   5   8   13

幼子 : 0   0   1   1   2   3   5    8

兔總 : 1   1   2   3   5   8  13  21 

月份 : 1   2   3   4   5   6   7    8

f(1) = 1;

f(2) = 1;

f(3) = 2;  ==> f(1) + f(2)

f(4) = 3;  ==> f(2) + f(3)

f(5) = 5;  ==> f(3) + f(4)

f(6) = 8;  ==> f(4) + f(5)

f(7) = 13; ==> f(5) + f(6)

f(8) = 21; ==> f(6) + f(7)

公式 : f( i ) = f( i-1 ) + f( i-2 );

使用遞迴所得 :

#includeint fun(int n)

int main ()

習題:

猴子第一天摘下n個桃子,當時就吃了一半,還不過癮,就又多吃了乙個。第二天又將剩下的桃子吃掉一半,又多吃了乙個。以後每天都吃前一天剩下的一半零乙個。到第10天在想吃的時候就剩乙個桃子了,問第一天共摘下來多少個桃子?

day = 10;  f(1桃子)  =  1 ;

day =  9;   f(2桃子)  =  (1 + 1) * 2 ;

day =  8;   f(3桃子)  =  * 2   ==>   [ f(2桃子) + 1 ] * 2 ;

公式 : f ( i ) = ( f ( i桃子 ) + 1 ) * 2 ;

#includeint fun(int i)

void main()

習題 :

為使用者提供功能模組: 對整型陣列排序(冒泡)

bubble.c:

void bubble(int buf[100],int ilen);

//static void swap( int *, int * );

提供宣告標頭檔案:bubble.h

首先在linux的vi編輯器下,建立乙個main.c 的檔案.

//來自系統檔案

#include "select.h"

extern int num;

//包含標頭檔案:就是引入標頭檔案

void main()

當前目錄下建立乙個bubble.c的檔案.

void bubble(char buf[100],int ilen)

{ int i=0,j=0;

char temp;

for(i=0;i建立乙個bubble.h的檔案.

extern void bubble(char buf[100],int ilen);

C 功能模組實現

本文打算做成乙個系列,旨在用c 簡潔地實現一些實用的且常用的功能模組。功能描述 以我的應用為例 上 版本1,利用string流實現 std vectorsplit const std string line return data 版本2,利用c語言string.h庫中的strtok s inclu...

c語言實現基礎的查詢替換功能模組

常用字處理軟體或者編輯器都提供字串的查詢和替換功能,本文描述如何借助c語言的字串處理函式來實現字串的查詢和替換功能。先說查詢,字串的查詢主要使用strstr函式,其原型為 char strstr char str1,char str2 函式的功能是在str1中查詢str2,如果str2是str1的子...

c語言函式 遞迴

函式的遞迴可以簡單的理解為迴圈,但他和迴圈是不一樣的。函式的一次遞迴呼叫相當於一次迴圈。一般情況下,迴圈要比遞迴計算的時間要快一些 函式的遞迴是在函式內呼叫自己,滿足限制條件後,就會返回到上乙個函式,知道返回到最初的函式 遞迴的呼叫條件 1 限制條件 滿足這個條件,遞迴將不再進行。2 每次的遞迴呼叫...