用C语言用递归实现输出一个整数的逆序
时间: 2024-05-02 12:22:43 浏览: 22
思路如下:
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语言递归实现逆序输出可以通过以下步骤实现:
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语言用递归法把整数逆序输出
好的,我可以为您提供代码:
```c
#include <stdio.h>
void reverse_print(int n) {
if (n == 0) {
return;
}
printf("%d", n % 10); // 先输出最低位
reverse_print(n / 10); // 递归输出其余位
}
int main() {
int n;
printf("请输入一个整数:");
scanf("%d", &n);
printf("逆序输出为:");
reverse_print(n);
printf("\n");
return 0;
}
```
这个程序通过递归的方式,先输出整数的最低位,再递归输出其余位,实现了整数逆序输出的功能。