【C言語】ファイルから数値を読み込んで平均値を求める

この記事では、C言語を使ってファイルから数値を読み込み、その数値の平均値を求める方法を紹介します。

ファイルの読み込みや数値の操作について初心者向けに解説していますので、ぜひ参考にしてみてください。

目次から探す

ファイルから数値を読み込んで平均値を求める

ファイルから数値を読み込む

C言語では、ファイルから数値を読み込むためには、ファイルポインタという特殊な変数を使用します。

ファイルポインタは、ファイルを操作するための情報を保持しており、ファイルの読み書きを行う際に使用します。

まずは、ファイルを開くためにfopen関数を使用します。

fopen関数は、ファイル名とモードを引数に取り、ファイルポインタを返します。

モードには、読み込みモード(r)や書き込みモード(w)などがあります。

以下は、ファイルを開いて数値を読み込むためのサンプルコードです。

#include <stdio.h>
int main() {
    FILE *fp;  // ファイルポインタ
    int num;
    // ファイルを開く
    fp = fopen("data.txt", "r");
    // ファイルから数値を読み込む
    fscanf(fp, "%d", &num);
    // ファイルを閉じる
    fclose(fp);
    // 読み込んだ数値を表示する
    printf("読み込んだ数値: %d\n", num);
    return 0;
}

上記のコードでは、data.txtというファイルを読み込みモードで開き、ファイルから1つの数値を読み込んでいます。

fscanf関数を使用して、ファイルポインタから数値を読み込み、変数numに格納しています。

最後に、ファイルを閉じています。

平均値を求める

ファイルから複数の数値を読み込んで、その平均値を求める方法を説明します。

まずは、ファイルから数値を読み込む部分をループさせて、複数の数値を読み込むようにします。

次に、読み込んだ数値を合計していきます。

最後に、合計値を読み込んだ数値の個数で割ることで平均値を求めることができます。

以下は、ファイルから数値を読み込んで平均値を求めるためのサンプルコードです。

#include <stdio.h>
int main() {
    FILE *fp;  // ファイルポインタ
    int num, sum = 0, count = 0;
    double average;
    // ファイルを開く
    fp = fopen("data.txt", "r");
    // ファイルから数値を読み込む
    while (fscanf(fp, "%d", &num) != EOF) {
        sum += num;
        count++;
    }
    // ファイルを閉じる
    fclose(fp);
    // 平均値を計算する
    average = (double)sum / count;
    // 平均値を表示する
    printf("平均値: %.2f\n", average);
    return 0;
}

上記のコードでは、data.txtというファイルから複数の数値を読み込み、それらの平均値を求めています。

whileループを使用して、ファイルから数値を読み込み、合計値と数値の個数を更新しています。

最後に、合計値を数値の個数で割ることで平均値を計算し、表示しています。

今回は整数値を読み込むことを想定していますが、3.14などの少数を含む場合は、%dではなく%fもしくは%lfで浮動小数点数として読み込むようにしてください。

以上で、ファイルから数値を読み込んで平均値を求める方法について説明しました。

ファイル操作や数値の読み込みには注意が必要ですので、正しく理解して利用してください。

目次から探す