【手把手带你刷好题】—— 58.返回各位数字之和(递归)
【摘要】
【前言】
今天是刷题打卡第58天!
由于最近笔者正在准备期末考试,所以很多时候都没有多少时间,我也就没有刷新的题目,将之前写的题目没有发到这个专栏里面的又重新过了一遍,后面期末考试一结束我就会安排新鲜的血液。
原题:返回各位数字之和
题目描述:
输入一个非负整数,返回组成它的数字之和,如...
【前言】
今天是刷题打卡第58天!
由于最近笔者正在准备期末考试,所以很多时候都没有多少时间,我也就没有刷新的题目,将之前写的题目没有发到这个专栏里面的又重新过了一遍,后面期末考试一结束我就会安排新鲜的血液。
原题:返回各位数字之和
题目描述:
输入一个非负整数,返回组成它的数字之和,如输入1729,应该返回1+7+2+9的值,当然1+7+2+9 == 9+2+7+1,也就是19
注意,现在给出的是递归简单部分,后面会慢慢加难度的。
代码执行:
-
//返回各位数字之和
-
#include<stdio.h>
-
-
int fac(int n)
-
{
-
//找重复:fac(n / 10) 是原题的子问题
-
//找边界
-
if (n < 10)
-
return n;
-
return n % 10 + fac(n / 10);
-
}
-
-
int main()
-
{
-
int n = 0;
-
scanf("%d", &n);
-
int ret = fac(n);
-
printf("%d\n", ret);
-
return 0;
-
}
结语
今天是刷题打卡第58天!
加油吧少年。
文章来源: bit-runout.blog.csdn.net,作者:安然无虞,版权归原作者所有,如需转载,请联系作者。
原文链接:bit-runout.blog.csdn.net/article/details/121946759
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)