C語言 使用函數實現十進制轉r進制


本關任務:編寫遞歸函數,實現將一個十進制的整數以r(r=2,8,16)進制的形式輸出。

 

 1 #include<stdio.h>
 2 void TransformToR(int n,int d)//10進制轉換成任意進制
 3 {
 4     if(n==0)
 5         return ;
 6     else
 7     {
 8         TransformToR(n/d,d);
 9         if(d>=10)//如果是10進制以上
10         {
11             if(n%d>=10)
12             {
13                  printf("%c",(char)((n%d-10)+'A'));
14             }
15             else//如果余數小於10,則直接輸出
16                 printf("%d",n%d);
17         }
18         //如果進制小於10,不會有字母的問題
19         else
20             printf("%d",n%d);
21     }
22 }
23 
24 int main()
25 {
26     int n,d;
27     
28 
29         printf("Input n,r(r=2,8,16):\n");
30         scanf("%d,%d",&n,&d);
31         TransformToR(n,d);
32         printf("\n");
33 
34 
35     return 0;
36 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM