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