試試這個:
var sum = Enumerable
.Range(1000, 1001)
.Where(n => n % 2 == 0)
.Sum();
Console.WriteLine(sum);
爲了讓你的代碼工作,你應該有它看起來像這樣:
int sum = 0;
int counter = 1000;
while (counter <= 2000)
{
if (counter % 2 == 0)
{
sum += counter;
}
counter++;
}
或者你可以這樣來做:
int sum = 0;
for (var counter = 1000; counter <= 2000; counter ++)
{
if (counter % 2 == 0)
{
sum += counter;
}
}
或者這樣:
int sum = 0;
for (var counter = 1000; counter <= 2000; counter ++)
{
sum += (counter % 2 == 0) ? counter : 0;
}
這是我的最愛:
int sum = 0;
var counter = 1000;
loop:
sum += (counter % 2 == 0) ? counter : 0;
if (++counter > 2000)
goto exit;
goto loop;
exit:
希望你現在可以得到一個A +。
想一想。你爲什麼要把'sum'初始化爲1000?如果你在紙上添加這些數字,你會這麼做嗎?另外,如果你將'counter'初始化爲1,那麼'counter'是否會大於或等於2000? – jmcilhinney
你的前三行是錯誤的。其餘的看起來很好。考慮一下代碼是如何工作的:在頭腦中運行幾個循環。 – Blorgbeard
我可能太累了,但是...'Console.Writeline(3000 * 501/2)'? –