C#规模程序帮助(简单)

时间:2015-10-14 22:17:42

标签: c# math

我正在寻找一个计算7个数字之和的程序。但有一点扭曲。如果其中一个变量小于84或大于184,那么这一个变量将从其他6个数字的总和中计算出来。

举个例子来说:

a=50
b=51
c=90
d=91
e=92
f=93
g=94

现在就是这样; C + d + E + F + G。我需要用1000个“如果”的句子吗?

3 个答案:

答案 0 :(得分:1)

如果不允许使用循环,那么可能是创建函数的下一个最简单的方法,而不是使用+。我将假设您也不允许使用其他稍微复杂的概念,例如类等。

public int ValueTest(int iValue)
{
    if ((iValueTwo > 84) && (iValueTwo < 184) {
        return iValue;
    }
    return 0;
}
static int Main(string[] args)
{
    int a=50;
    int b=51;

    int iResult = 0;
    iResult = ValueTest(a) + ValueTest(b);
    Console.WriteLine("Result is: ", iResult);
    return 0;
}

我只做了两个值,但这应该给你一个想法。此外,我还没有测试过这段代码,所以我可能错过了一些小的但是总体思路仍然应该是合理的。

干杯

答案 1 :(得分:0)

  

我是否需要使用1000&#34;如果&#34;句?

不,只是7

int total = 0;
if(a >= 84 && a <= 184)
   total += a;

..等等

答案 2 :(得分:0)

单行(或者更确切地说单一语句格式化为适合此处):

int total = ((a >= 84 && a <= 184) ? a : 0) + 
        ((b >= 84 && b <= 184) ? b : 0) + 
        ((c >= 84 && c <= 184) ? c : 0) + 
        ((d >= 84 && d <= 184) ? d : 0) + 
        ((e >= 84 && e <= 184) ? e : 0) + 
        ((f >= 84 && f <= 184) ? f : 0) + 
        ((g >= 84 && g <= 184) ? g : 0);

或者您可以使用LINQ(如果允许的话):

int total = new {a, b, c, d, e, f, g}.Where(x => x >= 84 && x <= 184).Sum();