【C言語】ファイルの数値を読み込んで計算する方法

この記事では、C言語を使ってファイルから数値を読み込み、その数値を使って計算する方法について解説します。

具体的には、ファイルの読み込み方法や、読み込んだ数値の合計や平均を求める方法について説明します。

目次から探す

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

ファイルの読み込み方法

まずは、ファイルを開いて数値を読み込む方法について説明します。

C言語では、ファイルを操作するためにfopen関数を使用します。

fopen関数は、ファイルポインタを返すため、そのポインタを使用してファイルを操作します。

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

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

上記のコードでは、fopen関数を使用してdata.txtというファイルを読み込みモード(r)で開いています。

その後、fscanf関数を使用してファイルから数値を読み込んでいます。

読み込んだ数値は、変数numに格納されます。

最後に、fclose関数を使用してファイルを閉じています。

読み込んだ数値の計算

次に、読み込んだ数値を使って計算を行う方法について説明します。

ここでは、読み込んだ数値の合計と平均を求める方法を紹介します。

読み込んだ数値の合計

まずは、読み込んだ数値の合計を求める方法について説明します。

合計を求めるためには、読み込んだ数値を順番に足し合わせていく必要があります。

以下は、読み込んだ数値の合計を求めるためのサンプルコードです。

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

上記のコードでは、whileループを使用してファイルから数値を読み込み、変数sumに足し合わせています。

fscanf関数は、ファイルから数値を読み込むたびに、読み込んだ数値がEOF(End of File)でないかどうかをチェックしています。

EOFでない場合は、ループが継続され、数値が合計に加算されます。

読み込んだ数値の平均

次に、読み込んだ数値の平均を求める方法について説明します。

平均を求めるためには、合計を求めた後に、読み込んだ数値の個数をカウントする必要があります。

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

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

上記のコードでは、変数countを使用して読み込んだ数値の個数をカウントしています。

最後に、合計を個数で割ることで平均を求めています。

平均を表示する際には、%.2fという書式指定子を使用して小数点以下2桁まで表示するようにしています。

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

ファイル操作や数値の計算は、プログラミングにおいて非常に重要な要素ですので、しっかりと理解しておきましょう。

目次から探す