- #include <stdio.h>
- // 将任意整数进制转换成2-16进制
- int main()
- {
- // 输入一个进制数
- printf("请输入2-16的这个整数");
- int radix;
- scanf("%d",&radix);
-
- // 输入一个整数
- printf("请输入一个要转换的整数");
- int num;
- scanf("%d",&num);
- int number = num;
-
- // 创建一个字符串存放结果
- char array[30];
-
- // 初始化i
- int i;
- // 循环算法:当num不等于0的时候循环
- for (i = 0; num!=0; i++, num = num/radix)
- {
-
- // 得到num除以进制数的余数,并存到数组中
- switch (num%radix)
- {
- case 15:
- array[i] = 'F';
- continue;
- case 14:
- array[i] = 'E';
- continue;
- case 13:
- array[i] = 'D';
- continue;
- case 12:
- array[i] = 'C';
- continue;
- case 11:
- array[i] = 'B';
- continue;
- case 10:
- array[i] = 'A';
- continue;
- default:
- array[i] = num%radix + '0';
- continue;
- }
-
- }
- // 反向输出字符串数组
- printf("%d进制的%d为:",radix,number);
- for (int j = i-1; j>=0; j--)
- {
- printf("%c",array[j]);
- if (j==0)
- {
- printf("\n");
- }
- }
- return 0;
- }
复制代码 |
|