【问题标题】:c# need to find the sum of all ints from a loopc#需要从循环中找到所有整数的总和
【发布时间】:2018-09-13 08:31:40
【问题描述】:

我对 c# 有点陌生,我正在自己做一些项目。在这个项目中,我需要找到算术 a + (a + b) + (a + 2b) 等的值。然后我需要将所有答案加在一起。我已经完成了第一部分,但我不确定如何添加从循环中获得的所有值。

class Program
{
    static void Main(string[] args)
    {
        int a = 22;
        int b = 8;
        int answer;

        Console.WriteLine(a);

        for (int i = 1; i <= 43; i++)
        {
            answer = a + b * i;
            Console.WriteLine(answer);                
        }
    }
}

【问题讨论】:

标签: c# for-loop math


【解决方案1】:

你需要通过某种方式来积累答案。您可以定义另一个变量来保存总和。如果循环是多次迭代,您可能不得不担心溢出。

int total; 
for (int i = 1; i <= 43; i++)
{
        answer = a + b * i;
        total += answer;
        Console.WriteLine(answer);                
}

【讨论】:

  • 你必须给total一个初始值,例如0. 否则编译器会抱怨你使用了 unassign 局部变量。
  • 我忘记了 +=。我试图将所有值放在一个数组中,然后找到一个数组的总和,它变得过于复杂 XD 非常感谢
【解决方案2】:
  1. 从 i=0 开始
  2. 使用 += 运算符回答。
  3. 考虑 System.Linq 中的 Sum 扩展方法

【讨论】:

    【解决方案3】:

    使用 Linq 可以使用Enumerable.Range() 方法获取整数列表,然后可以对它们求和。

    var total = Enumerable.Range(1, 43).Sum();
    

    【讨论】:

      猜你喜欢
      • 2014-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-09
      • 1970-01-01
      • 2023-04-03
      • 2020-11-07
      • 1970-01-01
      相关资源
      最近更新 更多