使用C中的递归数字的总和 [英] Sum of Digits using recursion in C

查看:208
本文介绍了使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆