c'语言实现任意进制转换
时间: 2023-12-28 19:04:10 浏览: 130
C语言实现任意进制转换可以通过以下步骤:
1. 定义一个变量num存储需要转换的十进制数,以及变量base表示需要转换的进制数;
2. 使用do-while循环,依次将num对base取余数,将余数添加到字符串res的末尾,并将num除以base;
3. 在循环结束后,将字符串res反转,即可得到转换后的数;
以下是C语言代码示例:
```c
#include <stdio.h>
#include <string.h>
void convert(int num, int base) {
char res[50] = "";
int i = 0, rem;
do {
rem = num % base;
if (rem < 10) {
res[i++] = rem + '0';
} else {
res[i++] = rem - 10 + 'A';
}
num /= base;
} while (num != 0);
res[i] = '\0';
strrev(res);
printf("转换结果为:%s\n", res);
}
int main() {
int num, base;
printf("请输入需要转换的十进制数:\n");
scanf("%d", &num);
printf("请输入需要转换的进制数:\n");
scanf("%d", &base);
convert(num, base);
return 0;
}
```
以上代码可以将一个十进制数转换为2-16进制数,如果需要扩展到其他进制数可以在else语句中继续添加。
阅读全文