用C语言用递归实现输出一个整数的逆序
时间: 2024-05-02 21:22:43 浏览: 349
思路如下:
1. 定义一个函数reverse,通过递归实现数字的倒序输出;
2. 如果传入的数字小于10,直接输出即可;
3. 否则,调用reverse函数传入数字除以10的整数部分,直到数字小于10;
4. 在递归回溯时,依次输出数字的各位数。
代码如下:
```c
#include <stdio.h>
void reverse(int n) {
if (n < 10) {
printf("%d", n);
return;
}
else {
printf("%d", n % 10);
reverse(n / 10);
}
}
int main() {
int num = 123456;
printf("原数字为:%d,逆序输出为:", num);
reverse(num);
printf("\n");
return 0;
}
```
输出结果为: 原数字为:123456,逆序输出为:654321 。
相关问题
c语言用递归逆序输出正整数
以下是使用C语言递归实现逆序输出正整数的代码示例:
```c
#include <stdio.h>
void reverse(int n) {
if (n == 0) {
return;
} else {
printf("%d", n % 10); // 取余并输出
reverse(n / 10); // 递归调用,实现逆序输出
return;
}
}
int main() {
int n;
scanf("%d", &n);
reverse(n); // 调用递归函数
return 0;
}
```
这段代码中,我们定义了一个递归函数`reverse`,该函数接受一个整数作为参数。在函数内部,我们首先判断参数是否为0,如果是0则直接返回,否则我们先取余并输出最后一位数字,然后将剩余的数字通过递归调用传入`reverse`函数,实现逆序输出。在`main`函数中,我们通过`scanf`函数读取一个整数作为输入,并将其传入`reverse`函数进行逆序输出。
C语言编程:递归实现逆序输出整数:编写实现对一个整数进行逆序处理的递归函数,函数需要有返回值,其值为逆序后的数据。
好的,以下是C语言递归实现逆序输出整数的代码:
```c
#include <stdio.h>
int reverse(int num, int rev) {
if (num == 0) {
return rev;
}
else {
rev = rev * 10 + num % 10;
return reverse(num / 10, rev);
}
}
int main() {
int num, rev = 0;
printf("请输入一个整数:");
scanf("%d", &num);
printf("逆序后的整数为:%d", reverse(num, rev));
return 0;
}
```
这段代码中的 `reverse` 函数是实现逆序输出整数的递归函数,其参数 `num` 表示要逆序的整数,`rev` 表示逆序后的结果。当 `num` 为 0 时,表示已经将整数的每一位都逆序处理完毕,此时返回 `rev`。否则将 `num` 的个位数添加到 `rev` 的最末位,同时将 `num` 缩小十倍,然后递归调用 `reverse` 函数进行下一位的处理。在主函数中,通过调用 `reverse` 函数将输入的整数逆序输出。
希望能对你有所帮助!
阅读全文