2016-09-22 8 views
1

すべての偶数の合計を書き出すコードを作成しました。 しかし、ループするたびに最後の実行の合計が保存され、新しい実行の合計に加算されます。どうすれば新しいループができますか?Cプログラミング - do whileループヘルプ(コードはほぼ完了)

私の悪い英語のため申し訳ありません、と事前に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

優れたアドバイス。 –