【发布时间】:2018-06-17 13:23:57
【问题描述】:
我试图在递归中总结一个数字的数字而没有正确的数字。 例如,如果输入为 1234,则输出应为 6 (1+2+3)。 如果输入仅为 1 位数字,则该函数应返回 0。
我不知道我该怎么做:计算数字,从结果中删除最后一个数字 如果输入是一个数字,那么它也应该返回 0。 我下面的代码总结了除左边数字以外的所有数字。如果我尝试使用 revNum 函数,例如对于数字“100”,结果是 0 而不是 1。 需要任何帮助:)
int main()
{
int num = 1234;
cout << partSum(num);
}
int sumDigits(int num)
{
if (num<10)
return 0;
return num%10 + sumDigits(num / 10);
}
输出应该是:6
【问题讨论】:
-
sumDigits(n/10)将删除正确的数字,但您需要修改函数和return num;而不是return 0;