【问题标题】:Is there a way to get the average of two arrays by using a single method?有没有办法通过使用一种方法来获得两个数组的平均值?
【发布时间】:2015-11-06 18:49:35
【问题描述】:

我所做的所有研究都建议制作包含两个原始数组的第三个数组,并使用它来获得平均值。我是编程新手,我们的老师喜欢让我们在实验室中寻找答案(未评分)。任何帮助,将不胜感激。

【问题讨论】:

  • 看看UNION 例如a.union(b).Average(x=>somthing meaningful)
  • 请展示你到目前为止所做的尝试。
  • “得到两个数组的平均值”是什么意思?
  • 只要你做(array1的总和+array2的总和)/(array1的长度+array2的长度)
  • 充实@W3AVE的问题——如果你有一个包含[1,3]的数组和另一个包含[3,3]的数组,这两个数组的平均值是多少?会是 [2,3] - 表示两个数组的第一个元素的平均值,然后是两个数组的第二个元素的平均值吗?数组是数字的吗?

标签: c# arrays methods


【解决方案1】:
var data1 = new[] { 2f, 2f, 2f, 2f, };
var data2 = new[] { 4f, 4f, };

var ret1 = data1.Concat(data2).Average();
Console.WriteLine(ret1);
//2.666667

【讨论】:

  • 作为注释,如果您使用.Union(...),答案将是3,因为重复值将被删除。
【解决方案2】:

您几乎可以拥有一个数组,这意味着“数组的平均值”是一个毫无意义的请求。那是什么意思?假设我有一个字符串数组,它的平均值应该是多少?如果你的意思是它是一个像 int, double ... 这样的原语数组,那么你可以简单地对它们进行 Concat 和平均。即:

int[] array1 = {2,5,6};
int[] array2 = {20,50,60};

double average = array1.Concat( array2 ).Average ();

【讨论】:

  • 当数组包含不同数量的项目时,平均不同数组的平均值并不能得到正确的结果。
  • 您为[9,9,9][1] 构建平均值的方法会得到5。应该是7。
  • 所以他问我们的实际问题是:` // 定义一个接受两个整数数组的方法。方法是 // 计算两个数组中所有值的平均值并返回。 // 调用main. And my arrays look like this int[]中的方法 A = { 12, -22, 17, -55, 33, 44, 7, -9, 15, -6, -3, 18 }; int[] B = { 77, -14, 42, 36, 16, -5, -8, 56, 11, 30, 25, 72 };` 本周早些时候我刚刚学习了数组,所以我保持简单。
  • 你说的对。星期五晚上在想什么 :) 已编辑。
猜你喜欢
  • 2019-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-29
  • 1970-01-01
  • 1970-01-01
  • 2020-12-05
相关资源
最近更新 更多