【前言】
今天是刷题打卡第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天!
加油吧少年。