编写一个C程序 用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串”483”位数不确定,可以是任意位数的整数。
时间: 2024-12-22 13:12:53 浏览: 4
项目六答案.docx
编写一个C程序,利用递归函数将整数转换为字符串,可以这样做:
```c
#include <stdio.h>
#include <stdlib.h> // 包含atoi用于测试字符串
// 递归函数,将数字转成字符数组
char* int_to_string(int n, char result[]) {
if (n == 0) {
result[0] = '\0'; // 结束字符串
return result;
} else {
// 取出个位数字,并添加到结果字符串的末尾
result[0] = '0' + n % 10;
result[1] = '\0'; // 结果前只放一位数字
return int_to_string(n / 10, result); // 继续递归处理十位、百位...
}
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
// 动态分配内存存放字符串结果
char* str = (char*)malloc(sizeof(char) * 10);
str = int_to_string(num, str);
printf("转换后的字符串形式为:%s\n", str); // 输出转换后的字符串
free(str); // 释放动态分配的内存
return 0;
}
阅读全文