使用C中的递归数字的总和 [英] Sum of Digits using recursion in C
本文介绍了使用C中的递归数字的总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
对于今天我们的活动,我们的任务使用递归与数字的总和进行。我已经取得此程序:
For our activity today, we were tasked to make using recursion with the sum of digits. I already made this program:
int main()
{
int num = 0, sum;
printf("Enter an integer: ");
scanf("%d",&num);
//counter=1;
for ( sum=0; num>0;)
{
sum = sum + num % 10;
num = num /10;
}
printf("Sum = %d", sum);
getch();
return 0;
}
我们的老师又补充道输入和输出必须在main()函数来完成。在做正确的事?还是我失去了我的code的东西吗?
Our teacher added "Input and output must be done in the main() function." Am doing the right thing? Or am I missing something in my code?
推荐答案
要做到递归,创建一个递归而不是使用一个for循环的功能。
To do recursion, create a function that recurses rather than using a for loop.
int SumDigits(int i) {
if (i < 10) {
return i;
}
else {
return i%10 + SumDigits(i/10);
}
}
scanf("%d", &i);
printf("%d\n", SumDigits(i));
这篇关于使用C中的递归数字的总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文