c语言用递归将整数按逆序输出。 例如: 输入 12345 输出 54321
时间: 2024-02-13 17:01:53 浏览: 137
好的,可以用下面的代码实现:
```c
#include <stdio.h>
void reverse(int n) {
if(n == 0) {
return;
}
printf("%d", n % 10);
reverse(n / 10);
}
int main() {
int n;
printf("请输入一个整数:");
scanf("%d", &n);
printf("按逆序输出的结果为:");
reverse(n);
printf("\n");
return 0;
}
```
在 `reverse` 函数中,我们首先判断输入的整数是否为 0,如果是,则直接返回。否则,我们先输出这个整数的个位数,然后递归调用 `reverse` 函数来输出剩余的数字。最终,整个整数就被按照逆序输出了。
相关问题
c语言用if用递归将整数按逆序输出。 例如: 输入 12345 输出 54321
好的,您可以参考以下的代码实现:
```c
#include <stdio.h>
void reverse(int n) {
if (n == 0) {
return;
}
printf("%d", n % 10);
reverse(n / 10);
}
int main() {
int n;
printf("请输入一个整数:");
scanf("%d", &n);
printf("按逆序输出为:");
reverse(n);
return 0;
}
```
与之前的代码相比,这里使用了`if`语句判断递归终止条件,即当整数为0时,递归结束。否则,我们先将这个整数除以10取余数并输出,然后递归调用`reverse`函数,将这个整数除以10得到新的整数作为参数传入。
在`main`函数中,我们先通过`scanf`函数获取一个整数,然后调用`reverse`函数将其按逆序输出。
用递归实现,将输入小于32768的整数按逆序输出。如输入12345,则输出54321
好的,这是一个经典的递归问题,可以使用以下的递归思路:
1. 将输入的整数除以10,得到商和余数。
2. 输出余数。
3. 如果商大于0,递归调用该函数,以商作为输入。
以下是实现的代码示例(使用C语言):
```c
#include <stdio.h>
void reverse(int n) {
int quotient = n / 10;
int remainder = n % 10;
printf("%d", remainder);
if (quotient > 0) {
reverse(quotient);
}
}
int main() {
int n;
printf("请输入一个小于32768的整数:");
scanf("%d", &n);
printf("逆序输出为:");
reverse(n);
printf("\n");
return 0;
}
```
希望能够帮到你!