c#规模程序帮助(简单)
本文关键字:简单 帮助 程序 | 更新日期: 2023-09-27 18:17:49
我想做一个程序,计算7个数字的总和。但有一个转折。如果这些变量中的一个小于84或大于184,则该变量将从其他6个数字的总和中计算。
例如:
a=50
b=51
c=90
d=91
e=92
f=93
g=94
现在是;c + d + e + f + g。我需要用1000个"如果"句子来做这件事吗?
如果你不允许使用循环,那么下一个最简单的方法可能是创建一个函数并使用它来代替+。我假设你也不允许使用其他稍微复杂一点的概念,比如类等。
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;
}
我只做了两个值,但这应该给你一个想法。我还没有测试过这段代码,所以我可能错过了一些小的东西,但总的想法应该仍然是合理的。
欢呼
我需要用1000个"如果"句子来做这个吗?
不,只有7
int total = 0;
if(a >= 84 && a <= 184)
total += a;
. .等
一行(或者更确切地说是一个单语句格式化为适合这里):
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();