如何使用 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

更新日期: 2020 年 6 月 22 日

480 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.