c语言输入十进制数输出八进制数程序
时间: 2024-12-02 10:22:08 浏览: 21
在C语言中,你可以使用`scanf`函数从用户处获取十进制数,然后通过位操作将其转换为八进制。以下是一个简单的程序示例:
```c
#include <stdio.h>
// 将十进制数转换为八进制字符串
void dec_to_oct(int decimal) {
char octal[10];
int i = 0;
while (decimal > 0) {
octal[i++] = decimal % 8 + '0'; // 取余并转换成字符
decimal /= 8; // 整除移位
}
// 如果最开始的数字是0,则不需要打印它
if (octal[0] == '0') {
for (int j = 1; j < i; j++) {
printf("%c", octal[j]);
}
} else {
for (i -= 1; i >= 0; i--) { // 从后向前打印,避免首位0
printf("%c", octal[i]);
}
}
}
int main() {
int decimal_num;
printf("请输入一个十进制数: ");
scanf("%d", &decimal_num);
printf("它的八进制形式是: ");
dec_to_oct(decimal_num);
return 0;
}
```
当你运行这个程序,它会提示你输入一个十进制数,然后输出对应的八进制表示。
阅读全文