正序输出一个整数的各位数字 void f(int n) {if(n==0) return; f(n⼀10

2025-03-01 21:09:16
推荐回答(4个)
回答1:

void f(int n)
{
if(n==0) //当n为0时返回
return;
f(n/10); //将原数/10后递归
cout<}

比如n == 289
1、运行到f(n/10)时,其实调用了f(28)
2、运行到f(n/10)时,此时n=28,即调用f(2)
3、运行到f(n/10)时,此时n=2,即调用f(0)
4、运行到f(n/10)时,此时n=0,即if(n==0)满足条件,退出此函数,回到3
5、3中f(0)执行完成,执行cout<6、2中f(2)执行完成,执行cout<7、1中f(28)执行完成,执行cout<8、退出f(289);

回答2:

return在递归里表示符合条件是递归结束 一般配合一个if判断语句 带不带返回值看定义的函数类型是否为void 带的返回值的类型也要跟定义的函数类型想匹配 如void f(int n) 就不带返回值 如果改成int f(int n) 就要return (a) 其中a为一个自定义的变量 变量为整形

回答3:

return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定,也可以不带返回值。

回答4:

正序输出直接就可以啊。没必要用子函数,也不用返回啥了。
直接用求余取整就可以啊。
先判断整数的位数。
然后相应首位除以1000、100什么的。后面依次求余除以1000、100啥的。
表达不是很清晰,但是算法大概就这样。