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中。
领取专属 10元无门槛券
私享最新 技术干货