2014-03-26 45 views
-1

如何添加1000-2000中的所有偶數並顯示總數? 如果你能幫助我,我會非常感激。Loop添加所有偶數

 int sum = 1000; 
     int counter = 1; 
     while (counter >= 2000) 
     { 
      if (counter % 2 == 0) 
      { 
       sum += counter; 
       counter++; 
      } 
     } 
     Console.WriteLine("{0}", sum); 
     Console.ReadLine(); 
+0

想一想。你爲什麼要把'sum'初始化爲1000?如果你在紙上添加這些數字,你會這麼做嗎?另外,如果你將'counter'初始化爲1,那麼'counter'是否會大於或等於2000? – jmcilhinney

+0

你的前三行是錯誤的。其餘的看起來很好。考慮一下代碼是如何工作的:在頭腦中運行幾個循環。 – Blorgbeard

+1

我可能太累了,但是...'Console.Writeline(3000 * 501/2)'? –

回答

3

試試這個:

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 +。

+1

這很可能是一個作業問題,我們不應該直接提供答案:http://meta.programmers.stackexchange.com/questions/6166/open-letter-to-students-with-homework-問題。請刪除您的答案。 –

+0

@musical_coder - 夠公平的。我必須承認它確實看起來好像代碼中存在一些基本問題。 – Enigmativity

+0

是的,肯定存在問題,但海事組織幫助完成作業的最佳方式是提供提示。 –