如何在C#中使用递归查找数字的位数总和?

要使用递归获得数字总和,请在C#中设置一个计算总和的方法。

static int sum(int n) {
   if (n != 0) {
      return (n % 10 + sum(n / 10));
   } else {
      return 0;
   }

上面的方法返回总和并检查直到输入的数字不等于0。

递归调用返回每个递归调用的数字总和-

return (n % 10 + sum(n / 10));

让我们看完整的代码-

示例

using System;
class Demo {
   public static void Main(string[] args) {
      int n, result;
      n = 22;
      Console.WriteLine("Number = {0}", n);
      result = sum(n);
      Console.WriteLine("Sum of digits = {0}", result);
   }
   static int sum(int n) {
      if (n != 0) {
         return (n % 10 + sum(n / 10));
      } else {
         return 0;
      }
   }
}

输出结果

Number = 22
Sum of digits = 4