c语言用if用递归将整数按逆序输出。 例如: 输入 12345 输出 54321
时间: 2024-03-22 15:38:51 浏览: 22
好的,您可以参考以下的代码实现:
```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`函数将其按逆序输出。
相关问题
c语言用递归将整数按逆序输出。 例如: 输入 12345 输出 54321
好的,您可以参考以下的代码实现:
```c
#include <stdio.h>
void reverse(int n) {
if (n > 0) {
printf("%d", n % 10);
reverse(n / 10);
}
}
int main() {
int n;
printf("请输入一个整数:");
scanf("%d", &n);
printf("按逆序输出为:");
reverse(n);
return 0;
}
```
首先,我们定义了一个名为`reverse`的函数,它接受一个整数作为参数。在函数内部,我们首先判断这个整数是否大于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;
}
```
希望能够帮到你!