编写一个递归函数,将一个整数n逆序输出
时间: 2024-05-15 14:19:07 浏览: 83
非常感谢您的提问!以下是逆序输出整数 n 的递归函数的代码实现:
```
void reverse(int n){
if (n < 10) {
cout << n;
return;
}
else {
cout << (n % 10);
reverse(n / 10);
}
}
```
您可以将要逆序输出的整数 n 作为参数传入这个递归函数,然后逐位取余数并输出,最后递归调用函数以输出剩余位数。
请问还有其他问题需要我的帮助吗?
相关问题
编写一个递归函数,讲一个整数n逆序输出
要编写一个递归函数来逆序输出一个整数n,我们可以利用位运算技巧来逐个取出每一位数字并反转它们。以下是一个简单的C语言实现:
```c
#include <stdio.h>
// 递归函数,将n的各位数字逆序并输出
void reverseInteger(int n, int reversedNum) {
// 基础情况:当n为0时结束递归
if (n == 0) {
printf("%d", reversedNum);
return;
}
// 取出n的最低位(实际上是最右边),然后左移一位相当于乘以10
int lastDigit = n % 10;
reversedNum = (reversedNum * 10) + lastDigit; // 将当前位添加到已反转的部分
// 递归调用,处理去掉最低位后的剩余部分
reverseInteger(n / 10, reversedNum);
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
// 从最高位开始调用reverseInteger函数,传入原始值和初始的逆序结果为0
reverseInteger(num, 0);
printf("\n");
return 0;
}
```
当你运行这个程序并输入一个整数后,它会逆序打印出该数字。
编写一个递归函数,将一个整数n逆序输出,比如,n = 12345,输出54321
可使用递归函数实现,将n%10作为当前位数的数字,将n//10作为下一次递归的参数,代码如下:
def reverse(n):
if n < 10: # 当只剩一位数时直接输出
print(n, end='')
else:
print(n % 10, end='')
reverse(n // 10) # 递归调用,将下一次处理的数字当作参数传入
n = 12345
reverse(n)
输出结果为:54321
阅读全文