C++ 用递归法将一个整数N转换成字符串,

例如输入483,应输出字符串"483".N的位数不确定,可以是任意位数的整数。请帮我讲解下下面的函数体的作用!!比如我输入483,程序会按照什么顺序一步步执行下去???v... 例如输入483,应输出字符串"483".N的位数不确定,可以是任意位数的整数。

请帮我讲解下下面的函数体的作用!!
比如我输入483,程序会按照什么顺序一步步执行下去???

void convert(int n)
{int i;
char c;
if ((i=n/10)!=0)
convert(i);
c=n%10+'0';
cout<<" "<<c;
}
好的回答可以加分。。谢谢大家了~~~~~~~~!
再问下啊!!这个题目对于实际应用有什么意义???
还是仅仅是一道 巩固知识点的 题目??
谢谢大家~~~~~~~~~~!!!!
展开
 我来答
pzy4447
2009-10-30 · TA获得超过285个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:160万
展开全部
convert(483)
{
i=483/10=48
convert(48)
{
i=48/10=4
convert(4)
{
i=4/10=0 //停止迭代
c=4%10+'0'='4'
cout<<" "<<'4'
}
c=48%10+'0'='8'
cout<<" "<<'8'
}
c=483%10+'0'='3'
cout<<" "<<'3'
}

第三次看这个程序才完全看懂,你这个程序挺好,挺巧妙的,呵呵
我也是个初学者,我认为这些最最基本的小程序虽然没有很实际的工程意义,但能够拓展我们的思维,让我们体会c程序的框架应该怎样来构建。虽然将来我们会大量的用到一些现成的库函数,但是如何能用得巧,用最少的代码来达到最大的效果,这种能力就是靠多写这样的小程序来慢慢提高的。
TableDI
2024-07-18 广告
当我们谈到Python与Excel的拆分时,通常指的是使用Python的库来读取Excel文件中的数据,然后根据某种逻辑(如按行、按列、按特定值等)将数据拆分成多个部分或输出到新的Excel文件中。上海悉息信息科技有限公司在处理这类任务时,... 点击进入详情页
本回答由TableDI提供
hyunfei2009
2009-10-17 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:214
采纳率:100%
帮助的人:97.3万
展开全部
这个在这里也不好讲,最好是借助图形讲,可能容易明白。不好意思,我的表达能力不强。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
s3938931
2009-10-17 · TA获得超过871个赞
知道小有建树答主
回答量:577
采纳率:100%
帮助的人:169万
展开全部
先执行递归!i=48然后i=4然后i=0执行输出语句n=4,c=4;输出4,退回上一层i=4,n=48,c=8 输出8;然后再返回上一层i=48,n=483,c=3输出3
及程序输出结果顺序为: 4 8 3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d6903c2
2019-02-08
知道答主
回答量:3
采纳率:0%
帮助的人:2027
展开全部
兄dei,你的程序和你的题目对应么?串位置了吧😂😂😓😓
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一鸣洞察
2009-10-17 · 超过10用户采纳过TA的回答
知道答主
回答量:24
采纳率:0%
帮助的人:0
展开全部
convert函数的递归调用过程:

当输入483时,将实参483传递给形参n
将483除10(结果为48)赋给i,并执行if语句,调用函数,将此时的i值作为实参传递给形参n(内存中将分配一个区域存储它),然后执行函数
……
直至if语句不执行,即i=n/10=0时,c='4',并被输出
然后返回上一层调用,这时的i为48,c=‘8’,并被输出
最后返回顶层,c=‘3’,输出

可以看出递归调用的效率很低,但在理论上是一种较常见的方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式