C语言 递归法将一个整数n转换成字符串
时间: 2023-09-23 17:03:36 浏览: 310
汉诺塔问题,用递归法将一个整数n转换成字符串, 建立一个包含加法函数、减法函数的动态链接库文件和一个包含加法函数、减法函数的函数声明的头文件;编写、调试并运行一个MFC应用程序,该MFC应用程序调用了你所建立的动态链接库中的加法函数、减法函数。
3星 · 编辑精心推荐
可以使用递归的方法将一个整数n转换成字符串。具体步骤如下:
1. 如果n为负数,则将其转化为正数,并在最终结果前面加上负号。
2. 如果n小于10,则将其转化为对应的字符,然后返回。
3. 如果n大于等于10,则将n除以10,然后对商进行递归调用,得到对应的字符串。
4. 将n对10取余,得到最后一位数对应的字符,然后将其添加到步骤3中得到的字符串的末尾。
下面是一个C语言的递归函数实现:
```c
void intToStr(int n, char* str) {
if (n < 0) {
*str++ = '-';
n = -n;
}
if (n < 10) {
*str++ = n + '0';
*str = '\0';
} else {
intToStr(n / 10, str);
while (*++str);
*str = n % 10 + '0';
*(++str) = '\0';
}
}
```
调用该函数的示例代码如下:
```c
int n = -123;
char str[20];
intToStr(n, str);
printf("%s\n", str); // 输出:-123
```
阅读全文