#includestdio.h
創(chuàng)新互聯(lián)專注于易門企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站開發(fā)。易門網(wǎng)站建設(shè)公司,為易門等地區(qū)提供建站服務(wù)。全流程按需制作網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
void revert(int cnt) {
int tmp;
if(cnt0)
{
scanf("%d",tmp);
revert(cnt-1);
printf("%d ",tmp);
}
}
void main(void)
{
int cnt=0;
scanf("%d",cnt);
revert(cnt);
}
1、編寫遞歸函數(shù)求 1+2+3+……+n 的和;
2、編寫遞歸函數(shù)求 2*4*6*……*(2n) 的積;
3、編寫遞歸函數(shù)求 n 的階乘;
4、漢諾塔問題;
實(shí)際上很多問題都可以通過遞歸來實(shí)現(xiàn),但是看到你的情況估計(jì)較難的你實(shí)現(xiàn)不了,所以給你幾個(gè)簡(jiǎn)單的練習(xí)一下,這樣可以增強(qiáng)對(duì)遞歸的理解,等理解的較為深入后再做稍微難一些的。
i=5,程序運(yùn)行時(shí)調(diào)用palin函數(shù),函數(shù)內(nèi)部判斷傳入?yún)?shù)是否小于等于1,不小于1,函數(shù)自己調(diào)用自己,參數(shù)減1,如此循環(huán),直到參數(shù)小于等于1時(shí)退出。這就是遞歸的方法。
漢諾塔算法, 一個(gè)柱子1上n個(gè)盤子套著,大的在下,借用柱子2,全部轉(zhuǎn)移到柱子3上
#include stdio.h
int main()
{
void hanoi(int n,char one,char two,char three); // 對(duì)hanoi函數(shù)的聲明
int m;
printf("input the number of diskes:");
scanf("%d",m);
printf("The step to move %d diskes:\n",m);
hanoi(m,'A','B','C');
}
void hanoi(int n,char one,char two,char three) // 定義hanoi函數(shù)
// 將n個(gè)盤從one座借助two座,移到three座
{
void move(char x,char y); // 對(duì)move函數(shù)的聲明
if(n==1)
move(one,three);
else
{
hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}
}
void move(char x,char y) // 定義move函數(shù)
{
printf("%c--%c\n",x,y);
}
在hanoi調(diào)用hanoi就是遞歸了