我正在寻找一个计算7个数字之和的程序。但有一点扭曲。如果其中一个变量小于84或大于184,那么这一个变量将从其他6个数字的总和中计算出来。
举个例子来说:
a=50
b=51
c=90
d=91
e=92
f=93
g=94
现在就是这样; C + d + E + F + G。我需要用1000个“如果”的句子吗?
答案 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();