1、將任意正整數化為二進制形式
(1)、代碼如下:
#include<stdio.h> void digui(int n){ int c; c = n%2; if(n > 0){ digui(n/2); printf("%d", c); } } int main(void){ int n; scanf("%d", &n); digui(n); printf("\n"); return 0; }
(2)、運行結果:
2、將任意正整數轉化為十六進制形式
(1)、代碼如下:
#include<stdio.h> void digui(int n); void digui(int n){ int c; c = n%16; if(n > 0){ digui(n/16); if(c >= 10){ printf("%c", c-10+'A'); }else{ printf("%d", c); } } } int main(void){ int n; scanf("%d", &n); digui(n); printf("\n"); return 0; }
(2)、運行結果:
3、求前N個整數和
(1)、代碼如下:
#include<stdio.h> int sum(int n){ if(n == 0){ return 0; } return n+sum(n-1); } int main(void){ int number; int n; scanf("%d", &number); n = sum(number); printf("%d\n", n); return 0; }
(2)、結果如下:
4、利用遞歸求每個斐波那契數列
(1)、代碼如下:
#include<stdio.h> int fibo(int num){ if(num == 0){ return 0; } if(num == 1){ return 1; } return fibo(num-1)+fibo(num-2); } int main(void){ int num; //第4個fibionaqie(從0開始算起)數字是:0、1、1、2、3、5、8.... int count; scanf("%d", &num); count = fibo(num); printf("%d\n", count); }
(2)、運行結果:
5、利用遞歸求字符串的長度
(1)、代碼如下:
#include<stdio.h> #include<string.h> int strLen(char *str); int strLen(char *str){ if(*str == 0){ return; } return 1+strLen(str+1); } int main(void){ char str[80]; int len; gets(str); len = strLen(str); printf("%d\n", len); }
(2)、運行結果:
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文名稱:簡單的遞歸問題-創新互聯
轉載來源:http://m.newbst.com/article6/dephig.html
成都網站建設公司_創新互聯,為您提供標簽優化、Google、App設計、網站建設、商城網站、關鍵詞優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯