使用递归函数方法,将一个非负整数n转换成逆序的字符串。例如:输入483,应输出字符串"384"。n的位数不确定,可以是任意位数的整数。 输入:输入非负整数n(n的位数不超过int上限) 输出:输出一个字符串。
时间: 2024-05-09 14:16:51 浏览: 112
答案:
可以使用递归函数将非负整数n转换为逆序字符串。递归函数每次除以10取余数并将余数转换为字符加到结果字符串中,然后将n除以10并递归调用函数。当n为0时停止递归,返回结果字符串。
以下是示例代码(使用C++语言实现):
```cpp
#include <iostream>
#include <string>
using namespace std;
string intToString(int n) {
if (n == 0) {
return "";
}
int num = n % 10;
char c = num + '0';
return c + intToString(n / 10);
}
int main() {
int n;
cin >> n;
string result = intToString(n);
cout << result << endl;
return 0;
}
```
输入样例:
483
输出样例:
384
相关问题
c语言编程用递归法将一个非负整数n转换成逆序的字符串。例如:输入483,应输出字符串"384"。n的位数不确定,可以是任位数的整数。
以下是使用递归法将非负整数n转换成逆序字符串的C语言代码:
```c
#include <stdio.h>
void reverse(int n) {
if(n == 0) {
return;
}
printf("%d", n % 10);
reverse(n / 10);
}
int main() {
int n;
printf("请输入一个非负整数n: ");
scanf("%d", &n);
printf("逆序字符串为: ");
reverse(n);
printf("\n");
return 0;
}
```
首先定义了一个名为reverse的递归函数,该函数的参数为一个非负整数n。如果n为0,则函数直接返回;否则,函数会打印n的个位数并调用自身,传入参数n/10,即去掉n的个位后的数。这样,每次递归的时候都会输出n的个位数,直到n为0结束递归。
在主函数中,首先提示用户输入一个非负整数n,然后调用reverse函数,并输出逆序字符串。
使用递归函数方法,将一个非负整数n转换成逆序的字符串。
可以这样实现:
```python
def reverse_str(n):
if n < 10:
return str(n)
else:
return str(n % 10) + reverse_str(n // 10)
n = 123456789
print(reverse_str(n)) # 输出 "987654321"
```
阅读全文