c语言用递归的方法将一个整数n转换成字符串。例如,输入1234,应输出字符串“1234”。n的位数不确定,可以使任意位数的整数

打开网易新闻 查看精彩图片

#include

void intToStr(int n)

if (n / 10 != 0) {

intToStr(n / 10);

putchar(n % 10 + '0');

int main()

int n;

printf("请输入一个整数:");

scanf("%d", &n);

printf("转换为字符串后为:");

intToStr(n);

return 0;

这个程序主要实现了将一个整数转换为字符串的功能。具体实现方法是将整数n递归地除以10,直到商为0,然后依次输出每个数位上的数字(通过将余数加上'0'得到对应的字符),从而得到整数n的字符串表示。

程序中的intToStr()函数是用于实现上述递归过程的函数,它的参数n表示待转换的整数。在函数中,首先判断n是否大于等于10,如果是,则递归调用intToStr()函数将n除以10后的商作为参数传入。这样,递归过程会一直执行到n小于10为止。然后,函数使用putchar()函数输出n对10取余的结果加上'0'的字符值,即对应的数字字符。

在main()函数中,程序使用scanf()函数从用户输入中读取一个整数,然后调用intToStr()函数将其转换为字符串,并使用printf()函数输出转换后的字符串。其中,scanf()函数使用"%d"格式控制字符串读取整数,"&n"表示将读取的整数存储到变量n中。

我在上面忘记考虑负数了当小于0时,先输出一个负号字符,然后将取反再进行递归调用函数。在递归结束后,再将结果转换为字符串输出,即可得到负数的字符串表示。