可以參考下面的代碼:
創新互聯建站服務項目包括嘉興網站建設、嘉興網站制作、嘉興網頁制作以及嘉興網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,嘉興網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到嘉興省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!
#include stdio.h
void printData(int data)
{
if (data==0)
{
return;
}
printf("%d",data%10);
printData(data/10);
}
int main()
{
int data;
printf("Enter a number:");
scanf("%d",data);
printData(data);
printf("\n");
return 0;
}
擴展資料:
要使用遞歸就必須要具備兩個條件。
遞歸的思想是:為了解決當前問題 F(n),就需要解決問題 F(n–1),而 F(n–1) 的解決依賴于 F(n–2) 的解決……就這樣逐層分解,分解成很多相似的小事件,當最小的事件解決完之后,就能解決高層次的事件。這種“逐層分解,逐層合并”的方式就構成了遞歸的思想。
使用遞歸最主要的是要找到遞歸的出口和遞歸的方式。所以遞歸通常分為兩部分:遞歸的方式和遞歸的終止條件。
遞歸的方式,就是指遞歸公式,即對問題的分解,同時也是向遞歸終止條件收斂的規則。而遞歸的終止條件通常就是得出的最小事件的解。遞歸終止條件的作用就是不讓遞歸無限地進行下去,最后必須要能“停”下來。
綜上所述,使用遞歸必須要滿足的兩個條件就是:要有遞歸公式、要有終止條件。
參考資料來源:百度百科-c程序
遞歸函數:
編程語言中,函數Func(Type a,……)直接或間接調用函數本身,則該函數稱為遞歸函數。遞歸函數不能定義為內聯函數。
在數學上,關于遞歸函數的定義如下:對于某一函數f(x),其定義域是集合A,那么若對于A集合中的某一個值X0,其函數值f(x0)由f(f(x0))決定,那么就稱f(x)為遞歸函數。
函數介紹:
在數理邏輯和計算機科學中,遞歸函數或μ-遞歸函數是一類從自然數到自然數的函數,它是在某種直覺意義上是"可計算的" 。事實上,在可計算性理論中證明了遞歸函數精確的是圖靈機的可計算函數。遞歸函數有關于原始遞歸函數,并且它們的歸納定義(見下)建造在原始遞歸函數之上。但是,不是所有遞歸函數都是原始遞歸函數 — 最著名的這種函數是阿克曼函數。
其他等價的函數類是λ-遞歸函數和馬爾可夫算法可計算的函數。
例子:
//代碼1
void func()
{
//...
if(...)
func();
else
//...
}
條件:
一個含直接或間接調用本函數語句的函數被稱之為遞歸函數,在上面的例子中能夠看出,它必須滿足以下兩個條件:
1) 在每一次調用自己時,必須是(在某種意義上)更接近于解;
2) 必須有一個終止處理或計算的準則。
梵塔的遞歸函數:
//C
void hanoi(int n,char x,char y,char z)
{
if(n==1)
move(x,1,z);
else
{
hanoi(n-1,x,z,y);
move(x,n,z);
hanoi(n-1,y,x,z);
}
}
//方法一,不需將轉換后的字符存儲在字符數組中
#includestdio.h
void change(int );
int main()
{
int n;
scanf("%d",n);
change(n);
printf("\n");
return 0;
}
void change(int num)
{
if(num==0)return ;
change(num/10);
printf("%d",num%10);
}
//方法二,先將轉換后的字符存儲在字符數組中
#includestdio.h
#define LEN 100
int m=0;
void change(int ,char *);
int main()
{
int n,i;
char a[LEN];
for(i=0;iLEN;i++)
a[i]='\0';
scanf("%d",n);
change(n,a);
printf("%s",a);
printf("\n");
return 0;
}
void change(int num,char *s)
{
if(num==0)return ;
change(num/10,s);
s[m++]=(char)(num%10+'0');
}
答案為B:
int f(int t[],int n)定義了一個int類型的函數,s=f(a,4)是將數組a傳遞給了t[],4傳遞給了n,遇到f就調用f定義的函數,直到n=0。最后s=t[3]+t[2]+t[1]+t[0],因為將a傳遞給了t[],所以s=4+3+2+1=10.
本文題目:C語言編程輸出遞歸函數 c語言編程輸出遞歸函數是什么
地址分享:http://m.newbst.com/article8/dogpdop.html
成都網站建設公司_創新互聯,為您提供企業建站、搜索引擎優化、面包屑導航、靜態網站、網站制作、品牌網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯