c语言用递归逆序输出正整数
时间: 2024-06-13 10:07:17 浏览: 138
以下是使用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语言递归实现逆序输出可以通过以下步骤实现:
1. 定义一个递归函数,接受一个整数参数作为输入。
2. 在递归函数内部,首先判断输入的整数是否大于0,如果大于0,则执行以下步骤:
- 将输入的整数对10取余,得到最后一位数字。
- 将输入的整数除以10,得到去掉最后一位数字的剩余部分。
- 调用递归函数,将剩余部分作为参数传入。
3. 在递归函数的递归调用之后,将最后一位数字打印输出。
以下是C语言递归实现逆序输出的代码示例:
```c
#include <stdio.h>
void reversePrint(int num) {
if (num > 0) {
int lastDigit = num % 10;
int remainingNum = num / 10;
reversePrint(remainingNum);
printf("%d ", lastDigit);
}
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("逆序输出结果为:");
reversePrint(num);
printf("\n");
return 0;
}
```
运行以上代码,输入一个整数,程序将会逆序输出该整数的每一位数字。
用C语言用递归实现输出一个整数的逆序
思路如下:
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 。
阅读全文