基本C#如何使用power for in语句?

时间:2014-03-15 21:07:53

标签: c#

我试图找到数字1到100的平方和

我想做什么

   static void Main(string[] args)
    {
        double squareSum = 0.0;

        for (int i = 1; i <= 100; i++)
        {
            double iSquared = Math.Pow(i, 2);
            iSquared += squareSum;
        }
        Console.WriteLine(squareSum);
        Console.ReadLine(); 

但我不明白为什么&#34; iSquared + = squareSum&#34;没有工作,我使用代码中断,并看到squareSum将保持为0.

我也试过

 for (int i = 1; i <= 100; i++)
            {
                i*i+=squareSum;
            }

但它不允许使用&#34; i&#34;在同一个声明中两次,有没有办法以这种方式写它?

为什么squareSum在第一个声明中仍为0?

提前致谢。

3 个答案:

答案 0 :(得分:6)

你需要交换它们:

squareSum += iSquared;

首先是变量,它将增加。见+= Operator (C# Reference)

答案 1 :(得分:0)

@ Sergey的回答是正确的。不过,我认为你可能会觉得这很有用:

var squareSum = Enumerable.Range(1, 100).Sum(x => x * x);
Console.WriteLine(squareSum);

当然,您需要确保在文件顶部显示此内容:

using System.Linq;

答案 2 :(得分:0)

如果你想要第一个&#39; N&#39;的平方和。连续的自然数,你不需要Linq或for循环:

您只需要公式:[n * (n + 1) * (2n + 1)] / 6

在你的情况下N = 100,所以如果你用C#编写代码,那么:

int n = 100;
double result = (n * (n + 1) * ((2 * n) + 1)) / 6;