用递归算法C语言任给十进制的正整数,完成以下操作: (1)请按序输出其各位数字。 (2)逆序输出其各位数字。
时间: 2024-10-13 14:02:32 浏览: 40
C语言经典代码.docx
在C语言中,我们可以使用递归函数来实现这个任务。这里有两个函数,一个用于顺序输出各位数字,另一个用于逆序输出。
首先,我们定义一个递归函数`print_digits`来输出顺序的各位数字:
```c
#include <stdio.h>
// 递归函数,输出顺序的各位数字
void print_sequence(int num) {
if (num == 0) { // 当数字为0时停止递归
return;
}
printf("%d", num % 10); // 输出当前位
print_sequence(num / 10); // 调用自身处理下一个位
}
```
接下来,我们定义第二个递归函数`reverse_print_digits`来逆序输出各位数字:
```c
// 递归函数,逆序输出各位数字
void reverse_print_digits(int num) {
if (num == 0) {
return;
}
printf("%d", num % 10);
reverse_print_digits(num / 10); // 从低位开始处理
}
```
你可以像这样使用这两个函数:
```c
int main() {
int number = 12345; // 输入的十进制正整数
printf("顺序输出:");
print_sequence(number);
printf("\n逆序输出:");
reverse_print_digits(number);
return 0;
}
```
运行上述代码,将分别得到顺序和逆序输出的结果。
阅读全文