递归算法将整数转换为字符串

本文详细介绍了如何使用C/C++通过逐位迭代的方式,将整数转换为字符串,包括了取余、ASCII码转换和字符串拼接的过程。通过实例展示了将123转换为字符串的方法,并提供了相应的代码实现。

在C/C++语言中我们都知道整数转换为字符串是不能直接转换的。一位整数转换为字符也只能将其转换为整数的ASCII码。

我们知道 0-9的数字的ASCII码对应于48~57。因此一位整数转换为字符串直接将整数+48后就可以强制转换。

所以大致思路就是,将整数n 进行模10 ,即n%10得到n的个位,然后将其转换为字符加到字符串中,再将n/10进行迭代。

举个例子

123

第一次迭代 123%10=3, str=3,再把123/10=12传入下一次迭代中

第二次迭代 12%10=2,str=2+str=2+3=23 (注:字符串相加就是两个字符串拼接)再把12/10进入下一次迭代

第三次迭代 1%10=1 str=1+str=1+23=123 由于1/10=0 所以停止迭代返回字符串s

具体代码

string Exchange(string str,int n)//第一次迭代传入的为空字符串
{
	if (n == 0)
	{
		return str;
	}
	char ch = n % 10 + 48;
	str = ch + str;
	return Exchange(str, n/10);
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值