C#プログラムで平均値を求める

今回のC#プログラミング学習は、平均値を求める方法について学習します。

平均の出し方は小学生のころ習ったように、値を全部足して最後にその個数で割るだけなんですが、C#プログラムを使って平均を求めようとしたときは、いくつか注意しなくてはいけないことがあるのでここでしっかり学習しておきましょう。

プログラムのダウンロード

まずは今回学習していくためのプログラムをダウンロードしましょう。

ここをクリックして「Sample.zip」ファイルをダウンロードしてください。

ZIP形式になっているので、ダウンロードしたら、マウスの右クリックで「すべて解凍」を選びます。

すると、Sampleプロジェクトが展開されます。

プログラムファイルを開く

Sampleプロジェクトの中に「Sample.sln」ファイルがあるので、このファイルを開くとVisualStudioのVisualC#が立ち上がります。

ソリューションエクスプローラから「Program.cs」を開くと、以下のようなプログラムが表示されます。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Sample
{
    class Program
    {
        static void Main(string[] args)
        {
            int iNumber1, iNumber2;
            double dAverage;

            iNumber1 = 5;
            iNumber2 = 2;
            dAverage = ( iNumber1 + iNumber2 ) / 2.0;

            Console.Write("{0}と{1}の平均は{2}です", iNumber1, iNumber2, dAverage);
            Console.ReadLine();
        }
    }
}

プログラムのビルド

F7キーを押すとプログラムのビルドが行われ、実行ファイルが作成されます。


VisualC#でビルドした様子

プログラムの実行

F5キーを押すとプログラムが実行されます。


サンプルプログラムを実行した様子

「5と2の平均は3.5です」と表示されるので、Enterキーを押すとプログラムが終了します。

プログラム解説

それでは今回学習するC#プログラムを見てみましょう。

プログラムの流れは前回とほぼ同じです。

違うところは、新しい変数の型が登場したのと、変数名が変わったことと、平均を求めているところと、最後の文字表示ですね。

double型

今回は新しくdouble型の変数が出てきました。

double型は、小数を扱うための変数の型です。

使い方ですが、記述方法は前回出てきたint型と同じで、扱える値が違うだけです。

平均を求める

以下の部分で平均を求めています。

dAverage = ( iNumber1 + iNumber2 ) / 2.0;

平均の出し方は、値を全部足して最後にその個数で割ります。

以前C#プログラムの四則演算でもやったように、まずはカッコ内の「iNumber1 + iNumber2」が行われ、計算結果を2.0で割り「dAverage」に代入しています。

これで平均を求めることができるんですが、ちょっと気になるところがありますよね。

それは、最後に割っている「2.0」です。

カッコ内の値が2つなので2で割るのはわかるんですが、だったらなんで「2.0」なんでしょうか?

「2」ではダメなんでしょうか?

ということで、「2.0」ではなく「2」で割ってみましょう。

dAverage = ( iNumber1 + iNumber2 ) / 2;

このように書き換えて実行してみます。

すると、「5と2の平均は3です」と表示されてしまいます。

これでも間違いではありませんが、せっかくdouble型の変数を使っているわけですから、答えが小数になるのであれば小数で出して、その値を正確に表現してほしいですよね。

この小数で出してほしいのかそうでないのかを指定してる部分が、「2.0」というわけです。

平均を出すことはC#に限らずプログラミングの世界ではよくある話なので、しっかり学習してできるようにしておきましょう。