十进制转换成各种进制

将10进制数转换成各种进制数的算法,代码如下:

 1 #include<stdio.h>
 2 #define MAXN 1000
 3 void main()
 4 {
 5     void trans(char *, long, int);
 6     char result[MAXN];
 7     long number;
 8     int base;
 9     while (1)
10     {
11         printf("数值:");
12         scanf("%ld", &number);
13         printf("基数:");
14         scanf("%d", &base);
15         trans(result, number, base);
16     }
17 }
18 
19 void trans(char *result, long number, int base)
20 {
21     int to = 0, len = 0, i = 0;
22     do
23     {
24         to = number % base;
25         number = number / base;
26         if (to > 9)
27             *result = to + 55;
28         else
29             *result = to + 48;
30         len++;
31         result++;
32     }
33     while (number > 0);
34     *result = '\0';
35 
36     for (i = len; i >= 0; i--)
37         printf("%c", *(result--));
38     printf("\n");
39 }

程序运行结果:

原文地址:https://www.cnblogs.com/hanyuan/p/number_transition.html