C# 需要帮助,从1到输入的数字交替排列。

C# 需要帮助,从1到输入的数字交替排列。,c#,modulus,alternate,C#,Modulus,Alternate,我试图在一系列数字上交替加减。在本系列中,过程在加法和减法之间交替进行。例如,如果您的目标号码是5,则序列将变为1+2-3+4-5或-1 我用的逻辑是,如果数字是奇数,你加,如果数字是偶数,你减。我使用模运算符来确定这个数是否为偶数。如果变量results=0,则我的逻辑似乎不起作用。任何帮助都将不胜感激 这是我的密码: private void alturnating_Input() { int numberEntered = int.Parse(txtenterNu

我试图在一系列数字上交替加减。在本系列中,过程在加法和减法之间交替进行。例如,如果您的目标号码是5,则序列将变为1+2-3+4-5或-1

我用的逻辑是,如果数字是奇数,你加,如果数字是偶数,你减。我使用模运算符来确定这个数是否为偶数。如果变量results=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();  


    }
private void alturnating_Input()
{
int numbernterred=int.Parse(txtenterNumber.Text);
int结果=1;
int i=0;
int偶数=0;
对于(i=1;i
我正在使用Visual Studio Pro C#2012


多谢各位。我非常感谢你的帮助。

你的缩进有误导性。在for循环中只有一条语句。正确缩进后,代码如下所示:

for (i = 1;  i < numberEntered; i++)
    even = i % 2;
if (even != 0)
    results = results + i;
else
    results = results - i;
for(i=1;i
你的意思可能是:

for (i = 1;  i < numberEntered; i++) 
{
    even = i % 2;
    if (even != 0)
        results = results + i;
    else
        results = results - i;
}        
for(i=1;i
如果for循环的正文中有多行,则必须使用大括号:

for(i=1;i
这就是为什么总是使用大括号(
{}
)-循环体的
中只有
偶数=i%2废话!对不起,我是新手。谢谢你,这似乎奏效了!
for (i = 1;  i < numberEntered; i++)
{
     even = i % 2;
     if (even != 0)
        results = results + i;
     else
       results = results - i;
}