10

int 配列のsumandを返すための 2 つのメソッドを定義する必要があります。averageメソッドの定義は次のとおりです。

public int Sum(params int[] customerssalary)
{
           
         // I tried the following but it fails   return customerssalary.sum();
}

もう 1 つの質問は、これらの int 値の平均をどのように返すことができるかということです。

4

7 に答える 7

45
customerssalary.Average();
customerssalary.Sum();
于 2012-10-18T08:07:54.793 に答える
16

これはあなたが行うべき方法です。私がこれを言うのは、あなたが明らかに C# に不慣れであり、おそらくいくつかの基本的なことがどのように機能するかを理解しようとする必要があるからです!

public int Sum(params int[] customerssalary)
{
   int result = 0;

   for(int i = 0; i < customerssalary.Length; i++)
   {
      result += customerssalary[i];
   }

   return result;
}

このSum関数を使用すると、これを使用して平均も計算できます...

public decimal Average(params int[] customerssalary)
{
   int sum = Sum(customerssalary);
   decimal result = (decimal)sum / customerssalary.Length;
   return result;
}

2 番目の関数で型を使用する理由decimalは、除算が整数以外の結果を簡単に返す可能性があるためです。


他の人は、とにかく私が自分で使用するものであるLinqの代替手段を提供していますが、Linqでは、とにかく独自の機能を持つことに意味がありません. C# を理解していることを示すために、このような関数をタスクとして実装するように求められていると思い込んでいますが、間違っている可能性があります。

于 2012-10-18T08:17:51.707 に答える
14

使用ints.sum()には2つの問題があります。

  • 変数は呼び出されますがcustomerssalary、ではありませんints
  • C#では大文字と小文字が区別されます。メソッドはSum()ではなく呼び出されsum()ます。

さらに、次のusingディレクティブが必要です。

using System.Linq;

合計を取得したら、配列の長さで割って平均を得ることができますAverage()。これを使用する必要はありません。これにより、配列が再度繰り返されます。

int sum = customerssalary.Sum();
int average = sum / customerssalary.Length;

またはdouble:として

double average = ((double) sum) / customerssalary.Length;
于 2012-10-18T08:11:33.187 に答える
2

間違った変数を試しましたints。これは引数の正しい名前ではありません。

public int Sum(params int[] customerssalary)
{
    return customerssalary.Sum();
}

public double Avg(params int[] customerssalary)
{
    return customerssalary.Average();
}

しかし、これらの方法は本当に必要だと思いますか?

于 2012-10-18T08:09:34.277 に答える
0

Visual Studio 2005 を使用している場合

public void sumAverageElements(int[] arr)
{
     int size =arr.Length;
     int sum = 0;
     int average = 0;

     for (int i = 0; i < size; i++)
     {
          sum += arr[i];
     }

     average = sum / size; // sum divided by total elements in array

     Console.WriteLine("The Sum Of Array Elements Is : " + sum);
     Console.WriteLine("The Average Of Array Elements Is : " + average);
}
于 2012-10-18T08:20:02.667 に答える