【C言語】0が入力されるまで値を入力して平均値を求める方法

この記事では、C言語を使ってユーザーからの入力を受け取り、入力された値の平均値を求める方法を解説します。

プログラミング初心者の方でもわかりやすく、具体的なコード例を交えて説明していきます。

目次から探す

平均値を求める方法

プログラムで平均値を求める方法について説明します。

平均値とは、複数の数値の合計をその数値の個数で割った値のことです。

以下では、ユーザーからの入力を受け取り、入力された値の平均値を求める方法を解説します。

ユーザーからの入力を受け取る

まずは、ユーザーからの入力を受け取る方法について説明します。

C言語では、scanf関数を使用してユーザーからの入力を受け取ることができます。

以下の例では、scanf関数を使ってユーザーから整数値を入力し、変数numに格納しています。


#include <stdio.h>
int main() {
    int num;
    
    printf("整数値を入力してください:");
    scanf("%d", &num);
    
    printf("入力された値は %d です\n", num);
    
    return 0;
}

上記のプログラムを実行すると、プログラムがユーザーからの入力を待ちます。

ユーザーが整数値を入力すると、その値が変数numに格納され、その値が表示されます。

入力された値を合計する方法

次に、入力された値を合計する方法について説明します。

入力された値を合計するためには、合計値を保持する変数を用意し、入力された値を都度加算していく必要があります。

以下の例では、ユーザーからの入力を受け取り、入力された値を変数sumに加算しています。


#include <stdio.h>
int main() {
    int num, sum = 0;
    
    printf("整数値を入力してください(0を入力すると終了します):");
    scanf("%d", &num);
    
    while (num != 0) {
        sum += num;
        
        printf("整数値を入力してください(0を入力すると終了します):");
        scanf("%d", &num);
    }
    
    printf("入力された値の合計は %d です\n", sum);
    
    return 0;
}

上記のプログラムを実行すると、ユーザーからの入力を繰り返し受け付けます。

ユーザーが0以外の整数値を入力すると、その値が変数sumに加算されます。

ユーザーが0を入力すると、ループが終了し、入力された値の合計が表示されます。

平均値の計算と表示

最後に、入力された値の平均値を計算して表示する方法について説明します。

平均値は、合計値を入力された値の個数で割ることで求めることができます。

以下の例では、入力された値の平均値を計算して表示しています。


#include <stdio.h>
int main() {
    int num, sum = 0, count = 0;
    double average;
    
    while (1) {
        printf("整数値を入力してください(0を入力すると終了します):");
        scanf("%d", &num);
        
        if (num == 0) {
            break;
        }
        
        sum += num;
        count++;
    }
    
    average = (double)sum / count;
    
    printf("入力された値の平均値は %.2f です\n", average);
    
    return 0;
}

上記のプログラムでは、変数countを用意して、入力された値の個数をカウントしています。

また、平均値を計算する際には、sumdouble型にキャストしてから個数で割ることで、小数点以下の値も正確に計算することができます。

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

目次から探す