递归将十进制转换为八进制c语言
时间: 2023-12-27 13:05:04 浏览: 81
用栈十进制转换为八进制(c语言)
5星 · 资源好评率100%
以下是C语言中使用递归算法将十进制数转换为八进制数的代码实现:
```c
#include <stdio.h>
// 递归函数,将十进制数转换为八进制数,并返回转换后的结果
int decimalToOctal(int decimalNum) {
if (decimalNum == 0) {
// 边界情况:十进制数为0
return 0; // 返回八进制数为0
} else {
return (decimalNum % 8) + 10 * decimalToOctal(decimalNum / 8); // 递归调用,将十进制数转换为八进制数
}
}
int main() {
int decimalNum;
printf("请输入一个十进制数:");
scanf("%d", &decimalNum);
printf("该数的八进制表示为:%d\n", decimalToOctal(decimalNum));
return 0;
}
```
用户需要输入一个十进制数,程序将使用递归算法将其转换为八进制数并输出。递归函数`decimalToOctal`的实现中,当十进制数为0时,返回八进制数为0;否则,将十进制数对8取余数并加上10乘以将十进制数除以8的结果,然后递归调用函数,直到十进制数为0为止。
阅读全文