用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”。n的 位数不确定,可以是任意位数的整数。
#include <stdio.h>
// 递归将整数转字符串
void int_to_string(int num, char str[], int *index) {
if (num == 0) {
if (*index == 0) {
str[(*index)++] = '0';
}
str[*index] = '\0';
return;
}
int remainder = num % 10;
int_to_string(num / 10, str, index);
str[(*index)++] = remainder + '0';
str[*index] = '\0';
}
int main() {
int num;
char str[20];
int index = 0;
printf("输入一个整数:");
scanf("%d", &num);
if (num < 0) {
str[index++] = '-';
num = -num;
}
int_to_string(num, str + index, &index);
printf("转换后的字符串:%s\n", str);
return 0;
}
解释说明:
递归转换:
- 函数
int_to_string
使用递归方法将整数逐位转换为字符串。 - 主函数从键盘输入一个整数,调用
int_to_string
函数并输出转换后的字符串。