【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( ④ )
⑤ ;
} 展开
main()
{ int n;
printf("Input n : ");
scanf("%d", ① );
r(n);
printf("\n");
}
r( int m )
{ printf("%d", ② );
m = ③ ;
if( ④ )
⑤ ;
} 展开
展开全部
答案是:①:&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、注意格式,在书写代码时,要注意换行和空格,好的格式可以一眼看出代码的结构,可以选择每行写一句代码。
展开全部
第一处:&n
第二处:m
第三处:m-1
第四处:m!=0
第五处:return r(m)
楼主这题符号全是用中文符号的,我一运行,30多个错,哈哈,然后把符号改了就好了。。没问题了
第二处:m
第三处:m-1
第四处:m!=0
第五处:return r(m)
楼主这题符号全是用中文符号的,我一运行,30多个错,哈哈,然后把符号改了就好了。。没问题了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
}
{
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一处:&n
第二处:m%10
第三处:m/10
第四处:m!=0
第五处:r(m)
第二处:m%10
第三处:m/10
第四处:m!=0
第五处:r(m)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询