1

数値の範囲で足し算と引き算を交互にしようとしています。このシリーズでは、足し算と引き算を交互に繰り返します。たとえば、目標数が 5 の場合、シリーズは 1 + 2 - 3 + 4 - 5 または -1 になります。

数値が奇数の場合は加算し、数値が偶数の場合は減算するロジックを使用しています。モジュラス演算子を使用して、数値が偶数かどうかを判断しています。変数結果 = 0 の場合、私のロジックは機能しないようです。

これが私のコードです:

 private void alturnating_Input()
    {
        int numberEntered = int.Parse(txtenterNumber.Text);
        int results = 1;
        int i = 0;
        int even = 0;
        for (i = 1;  i < numberEntered; i++)
            even = i % 2;
            if (even != 0)
              results = results + i;
            else
              results = results - i;
        txtAlternating.Text= results.ToString();  


    }

Visual Studio Pro C# 2012 を使用しています。

ありがとうございました。大変お世話になりました。

4

2 に答える 2

1

for ループの本体に複数の行がある場合は、中かっこを使用する必要があります。

for (i = 1;  i < numberEntered; i++)
{
     even = i % 2;
     if (even != 0)
        results = results + i;
     else
       results = results - i;
}
于 2014-07-27T23:20:45.293 に答える
0

あなたのインデントは誤解を招くものです。for ループにはステートメントが 1 つしかありません。適切にインデントすると、コードは次のようになります。

for (i = 1;  i < numberEntered; i++)
    even = i % 2;
if (even != 0)
    results = results + i;
else
    results = results - i;

あなたはおそらくこれを意味していました:

for (i = 1;  i < numberEntered; i++) 
{
    even = i % 2;
    if (even != 0)
        results = results + i;
    else
        results = results - i;
}        
于 2014-07-27T23:20:41.523 に答える