C++语言用递归算法将正整数转换成字符串。例如,若正整数为1234,则输出“1 2 3 4”
时间: 2024-05-01 15:16:35 浏览: 13
以下是递归算法实现正整数转换成字符串的C代码:
```c
#include <stdio.h>
void intToString(int num) {
// 递归出口:num小于10,直接输出
if (num < 10) {
printf("%d ", num);
return;
}
// 递归调用:将高位数字转换成字符串
intToString(num / 10);
// 输出低位数字
printf("%d ", num % 10);
}
int main() {
int num = 1234;
intToString(num);
return 0;
}
```
输出结果为:
```
1 2 3 4
```
递归算法的思路是先将高位数字转换成字符串,再输出低位数字。当数字小于10时,即为递归出口,直接输出即可。
相关问题
c++用递归法将一个整数转换成字符串的代码
以下是 C++ 中递归将整数转换成字符串的示例代码:
```C++
#include <iostream>
using namespace std;
void intToStr(int num) {
if (num / 10 != 0) {
intToStr(num / 10);
}
cout << char(num % 10 + '0');
}
int main() {
int num = 123;
intToStr(num);
return 0;
}
```
该程序会将整数 `num` 转换为字符串并输出。在 `intToStr` 函数中,我们首先判断这个整数是否大于等于10,如果是,则递归调用 `intToStr` 并传入当前整数的十位数;如果不是,则输出当前整数的个位数。最后在 `main` 函数中调用 `intToStr` 即可。
c++用递归法将整数转换为字符串
下面是将整数转换为字符串的递归函数实现,可以处理负数和零:
```python
def int_to_string(num):
if num < 0:
return '-' + int_to_string(-num)
elif num == 0:
return '0'
elif num < 10:
return chr(ord('0') + num)
else:
return int_to_string(num // 10) + chr(ord('0') + num % 10)
```
该函数的基本思路是将整数不断除以 10,直到小于 10 为止,然后将每一位转换为对应的 ASCII 字符,最终拼接成一个字符串。如果输入的是负数,则先加上负号,然后递归转换其绝对值。如果输入的是零,则直接返回字符串 '0'。