【发布时间】:2019-05-14 12:39:27
【问题描述】:
我有一个排序后的数组,其值如下:我需要计算总计如下:
场景 1 - 数组值 12、15、17
12+15 = 27
27+17 = 44
44+27 = 71
Total = 71
场景 2 数组值 12,15,17,19
12+15 = 27
27+17 = 44
44+19 = 63
27+44+63 = 134
总计 = 134
场景 3 数组值 12,15,17,19,23
12+15 = 27
27+17 = 44
44+19 = 63
63+23 = 86
27+44+63+86 = 220
总计 = 220
场景 4 到 N 数组值 12,15,17,19,23.....N
我必须把上面的逻辑带到C#代码中
我写的如下:
int[] myNumbers = new int[] { 100,250,1000};
Array.Sort(myNumbers);
int sum = 0;
int temp = 0;
foreach (int y in myNumbers)
{
sum = sum + y;
}
for(int i=0;i<myNumbers.Length-1;i++)
{
temp = temp + myNumbers[i];
}
sum = sum + temp;
Console.Write(sum);
上面的代码适用于数组值 100,250,1000
但是对于任何其他数组值它都会失败
需要帮助!
【问题讨论】:
-
“失败”是什么意思?有什么例外吗?出乎意料的结果?
-
没有例外,给定输入工作正常...但是如果我们更改数组值更多的数字,它将失败
-
@SmartestVEGA 他问什么失败了,你回答它
fails...这是什么答案? -
100,250,1000,2000
-
它不会失败。它只是有错误的实现。
标签: c# arrays .net algorithm logic