遞迴小程式二(C語言)

2021-09-23 23:58:18 字數 677 閱讀 2280

將非負十進位制整數n轉換成b進製。(其中b=2~16)

(1)要實現進製的轉換,就是通過除法取餘數的方法,但通常得到的數都是要倒序輸出,所以通過函式的遞迴呼叫,在得到所有的位的計算結果後再輸出。

(2)若採用非遞迴方法,則需要用while()迴圈來計算,且計算結果用陣列存放,最後倒序輸出結果。

拿十進位制轉二進位制舉例,將該十進位制數用2整除,取餘數,直到該十進位制數為1時結束,所以,遞迴出口是 if(n#includevoid homework(int n,int b)

printf("轉換結果為:\n");

for(int i=num-1;i>0;i--)//倒序輸出結果

printf("\n");}1.遞迴執行結果

2.非遞迴執行結果

進製轉換的問題,尤其是十進位制轉其他進製,採用直接法(取餘)比較簡單,而且利用遞迴函式呼叫方便的解決了計算結果反序列印的問題。總之,此類可以採用遞迴函式呼叫的程式,只要能寫出遞迴出口和遞迴體,翻譯**是比較簡單的,最難的也是找遞迴體和遞迴結束的條件。如果是非遞迴就只能拿陣列來儲存結果,最後再倒序輸出。

c 之遞迴小程式

用遞迴方式完成以下程式 include include using namespace std 1.求前n個自然數之和 int sum int n void funtest void funtest int data node next void printlistfromtailtohead no...

C語言小程式

實現乙個函式,取出乙個全路徑檔名中的檔名部分,函式原型如下 in pszfullpath 全路徑檔名 out pszpathname 接受全路徑的緩衝區 out ncount 緩衝區的大小 方法一 常規方法 include include include int extractfilepath ch...

C語言基礎 一些C語言小程式(二)

一,寫程式 題目描述 輸入乙個整數,輸出該數二進位制表示中1的個數。其中負數用補碼表示。輸入 輸入可能包含多個測試樣例。對於每個輸入檔案,第一行輸入乙個整數t,代表測試樣例的數量。對於每個測試樣例輸入為乙個整數。n保證是int範圍內的乙個整數。include include static int g...