【手把手带你刷好题】—— 58.返回各位数字之和(递归)

举报
安然无虞 发表于 2022/05/26 23:25:01 2022/05/26
【摘要】 【前言】 今天是刷题打卡第58天! 由于最近笔者正在准备期末考试,所以很多时候都没有多少时间,我也就没有刷新的题目,将之前写的题目没有发到这个专栏里面的又重新过了一遍,后面期末考试一结束我就会安排新鲜的血液。    原题:返回各位数字之和 题目描述: 输入一个非负整数,返回组成它的数字之和,如...

【前言】

今天是刷题打卡第58天!

由于最近笔者正在准备期末考试,所以很多时候都没有多少时间,我也就没有刷新的题目,将之前写的题目没有发到这个专栏里面的又重新过了一遍,后面期末考试一结束我就会安排新鲜的血液。

  

原题:返回各位数字之和

题目描述:

输入一个非负整数,返回组成它的数字之和,如输入1729,应该返回1+7+2+9的值,当然1+7+2+9 == 9+2+7+1,也就是19

注意,现在给出的是递归简单部分,后面会慢慢加难度的。

代码执行:


  
  1. //返回各位数字之和
  2. #include<stdio.h>
  3. int fac(int n)
  4. {
  5. //找重复:fac(n / 10) 是原题的子问题
  6. //找边界
  7. if (n < 10)
  8. return n;
  9. return n % 10 + fac(n / 10);
  10. }
  11. int main()
  12. {
  13. int n = 0;
  14. scanf("%d", &n);
  15. int ret = fac(n);
  16. printf("%d\n", ret);
  17. return 0;
  18. }

结语

今天是刷题打卡第58天!

加油吧少年。

 

 

文章来源: bit-runout.blog.csdn.net,作者:安然无虞,版权归原作者所有,如需转载,请联系作者。

原文链接:bit-runout.blog.csdn.net/article/details/121946759

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。