用栈进行从10进制转化为2,8,16进制,要求用c语言
时间: 2023-04-08 12:05:17 浏览: 101
好的,这个问题可以回答。以下是用 C 语言实现从 10 进制转化为 2、8、16 进制的代码:
```c
#include <stdio.h>
#include <stdlib.h>
void convert(int num, int base) {
int rem = 0;
int i = 0;
char result[100];
while (num != 0) {
rem = num % base;
if (rem < 10) {
result[i++] = rem + '0';
} else {
result[i++] = rem - 10 + 'A';
}
num /= base;
}
for (int j = i - 1; j >= 0; j--) {
printf("%c", result[j]);
}
}
int main() {
int num = 12345;
printf("Binary: ");
convert(num, 2);
printf("\n");
printf("Octal: ");
convert(num, 8);
printf("\n");
printf("Hexadecimal: ");
convert(num, 16);
printf("\n");
return 0;
}
```
这个程序使用了栈的思想,将每次得到的余数存储在一个字符数组中,最后再倒序输出即可。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)