【3.30】用递归实现将输入小于32768的整数按逆序输出。如输入12345,则输出54321。

#include"stdio.h"main(){intn;printf("Inputn:");scanf("%d",①);r(n);printf("\n");}r(int... #include"stdio.h"
main()
{ int n;
printf("Input n : ");
scanf("%d", ① );
r(n);
printf("\n");
}
r( int m )
{ printf("%d", ② );
m = ③ ;
if( ④ )
⑤ ;
}
展开
 我来答
小孩教育与生活小能手
2020-07-31 · 热爱社会生活和少儿教育
小孩教育与生活小能手
采纳数:16 获赞数:1328

向TA提问 私信TA
展开全部

答案是:①:&n;②:m%10;③:m/10;④:m!=0;⑤:return r(m)。

scanf的输出格式规定,输出的变量前要加&,所以第一个空的答案是:&n。

由于是逆序输出,所以当“12345”传到r函数时,先输出个位,通过12345%10得到个位,所以第二处的答案是:m%10。

由于已经把个位输出,所以要把变量的个位进行去掉,通过除以10去掉个位,故第三空的答案是:m/10。

删除变量最后一位的数字后,需要判断是否为0,如果为0就不需要计算,直接返回结果,所以第四空的答案是:m!=0;第五的答案是:return r(m)。

通过补全修改代码,并在电脑的vc6.0中进行运行(如下图),得到结果,并验证了答案代码的正确。

扩展资料:

注意事项:

1、理解题目意思很重要,在根据题目补充代码时,要根据上下文推敲,如本题中:scanf("%d", ① );,就可根据scanf的使用规则,进行推出答案&n。

2、注意中英文的分号,代码中出现中文分号结尾,会报错。且在电脑书写代码时,大部分人都会遇到过这个错误,所以在打分号时要注意输入法。

3、注意格式,在书写代码时,要注意换行和空格,好的格式可以一眼看出代码的结构,可以选择每行写一句代码。

skylm1234
推荐于2016-02-04 · TA获得超过306个赞
知道小有建树答主
回答量:198
采纳率:100%
帮助的人:241万
展开全部
第一处:&n
第二处:m
第三处:m-1
第四处:m!=0
第五处:return r(m)
楼主这题符号全是用中文符号的,我一运行,30多个错,哈哈,然后把符号改了就好了。。没问题了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不化的小雪球b5ef8
2010-04-07 · TA获得超过210个赞
知道答主
回答量:186
采纳率:0%
帮助的人:138万
展开全部
main()
{
int n;
printf("Input n : ");
scanf("%d",&n);
r(n);
printf("\n");

}

r( int m )
{ printf("%d",m%10);
m =m/10;
if( m!=0)
return r(m);

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
stomachcao
2010-04-08 · TA获得超过6263个赞
知道大有可为答主
回答量:2276
采纳率:75%
帮助的人:740万
展开全部
第一处:&n
第二处:m%10
第三处:m/10
第四处:m!=0
第五处:r(m)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乐观的志6
2020-11-05 · TA获得超过1.3万个赞
知道答主
回答量:31
采纳率:0%
帮助的人:8453
展开全部

#include<stdio.h>


void r(int m){

printf("%d", m%10);

m = m/10;

if(m!=0) return r(m);

}



int main(){

int n;

printf("input n:");

scanf("%d", &n);

r(n);

printf("\n");

}



已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式