2016-09-22 53 views
1

我已經創建了一個代碼,寫出所有偶數的總和。 但每次循環時,最後一次運行的總和被保存並添加到新運行的總和中。我如何讓它有一個新的循環?C編程 - 做循環幫助(代碼幾乎完成)

對不起我的英文不好,並提前THX

int main() 
    { 


    int number = 0; 
    int sum = 0; 
    printf("Welcome to\"Sum Evens\"!"); 

    do 
    { 
     printf("\ninput a number: "); 
     scanf(" %d", &number); 
     if (number == 0) 
     { 
      printf("Goodbye, have a nice day!\n"); 
      break; 
     } 
     printf("\nSum:"); 

     if (number % 2 != 0) 
     { 
      number -= 1; 
     } 

     for (int i = 0; i <= number; i += 2) 
     { 

      printf(" %d ", i); 
      if (i != number) 
      { 
       printf("+"); 
      } 
      sum += i; 

     } 
     printf("= %d\n", sum); 

    } while (number != 0); 

    system("pause"); 
     return 0; 
    } 
+3

在求和之前,您需要將sum = 0放入循環中 –

+2

嘗試將變量sum的定義移動到循環中。 –

+0

Thx傢伙。你對自己的代碼歡呼失明瞭! –

回答

3

關注這些樣的問題融化,如果你聲明變量接近他們儘可能首次使用。

在你的情況下,將int sum = 0;移動到for循環之前。

+0

優秀的建議。 –