用C语言,完成数制的转换编程题。要求如下: (1)将十进制数N转换为八进制数 (2)将十进制数N转换为二进制数 (2)使用256、500两个十进制数对(1)(2)进行测试
时间: 2024-11-06 12:24:26 浏览: 61
在C语言中,我们可以使用内置的库函数`itoa()`和`atol()`来进行整型到字符串的转换,然后借助字符串处理功能手动完成八进制和二进制的转换。这里给出一个简单的示例来实现这个需求:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 十进制转八进制
void dec_to_oct(char* decimal_num, int num) {
char octal[10];
sprintf(octal, "%o", num);
strcpy(decimal_num, octal);
}
// 十进制转二进制
void dec_to_bin(char* decimal_num, int num) {
char binary[100]; // 二进制可能长度较长
sprintf(binary, "%d", num);
strcpy(decimal_num, binary);
}
int main() {
// 测试用例
int N = 256;
char dec_str[20];
// 转换并打印
printf("256 in Octal: ");
dec_to_oct(dec_str, N);
printf("%s\n", dec_str);
N = 500;
printf("500 in Binary: ");
dec_to_bin(dec_str, N);
printf("%s\n", dec_str);
return 0;
}
```
在这个例子中,`dec_to_oct`和`dec_to_bin`函数分别接收一个字符数组和一个十进制数,然后通过`sprintf`函数将其转换为对应的八进制和二进制字符串形式,并存储在输入的数组中。
阅读全文