0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【C言語入門】合計と平均を求める方法をわかりやすく解説!

Last updated at Posted at 2025-04-16

C言語で合計と平均を求める方法と型変換の使い方(intとdouble)

C言語では、数値の合計や平均を計算するのに intdouble を使います。今回は、その方法をわかりやすく解説します。

合計と平均の計算方法

まず、整数型 int を使って合計と平均を計算する方法を見ていきましょう。

合計を計算する

#include <stdio.h>

int main() {
    int a = 10, b = 20, c = 30;
    int sum = a + b + c;
    printf("合計: %d\n", sum);
    return 0;
}

解説
a, b, c の値を足して sum に代入しています。
%d は整数の出力に使います。

平均を計算する

#include <stdio.h>

int main() {
    int a = 10, b = 20, c = 30;
    int sum = a + b + c;
    double average = sum / 3.0;  // 3.0 として double にキャストする
    printf("平均: %f\n", average);
    return 0;
}

解説
合計 sum を 3.0 で割ることで、小数点以下の計算が可能になります。
double 型にキャストすることで、整数型の割り算で失われる小数を保ったまま計算できます。


intとdoubleの型変換(キャスト)

C言語では、**異なる型(intとdoubleなど)を混ぜて計算する場合、意図的に型変換(キャスト)**をすることで、より正確な結果が得られます。

キャスト(型変換)のやり方

int a = 5, b = 2;
double result;

result = (double)a / b;
printf("結果: %f\n", result); // → 結果: 2.500000

解説

  • a は int 型 → (double)a で 5.0 に変換
  • 5.0 / 2 の計算になるので、結果も double 型になって小数点以下も正しく表示される

キャストしなかった場合

result = a / b;
printf("結果: %f\n", result); // → 結果: 2.000000
  • a / b は整数同士の割り算になるため、2.5 ではなく 2 になってしまう
  • result は double 型でも、計算の時点で小数が失われている!

ポイントまとめ

  • int / int → 結果はint(小数点以下は切り捨て)
  • 小数を出したいときは、少なくともどちらか一方をdoubleにキャストする!

実際に使ってみよう:合計と平均を計算するプログラム

実際に3つの数値を使って合計と平均を計算してみましょう。

#include <stdio.h>

int main() {
    int a, b, c;
    printf("3つの整数を入力してください(例:10 20 30): ");
    if (scanf("%d %d %d", &a, &b, &c) != 3) {
        printf("入力エラーです。\n");
        return 1;
    }

    int sum = a + b + c;
    double average = sum / 3.0;

    printf("合計: %d\n", sum);
    printf("平均: %f\n", average);

    return 0;
}

入力例と出力例

入力例 1
10 20 30

出力例 1
合計: 60
平均: 20.000000

入力例 2(入力エラー)
10 20 abc

出力例 2
入力エラーです。


まとめ

  • int 型は整数を扱うときに使用し、double 型は小数を扱うときに使用します。
  • 合計や平均を求めるとき、型に注意して適切にキャストを行うことが大切です。
  • int 型のまま計算すると小数が切り捨てられてしまうので、少なくとも一方を double にキャストして計算しましょう。

この基本を押さえることで、合計と平均の計算だけでなく、さまざまな計算が正確に行えるようになります!


注意点

  • 整数同士の割り算(int / int)は必ず小数点以下が切り捨てられます。小数点以下も必要な場合は、必ずどちらか一方をdouble型にキャストしましょう。
  • scanfでの入力時、想定外の値(例:文字列や小数点付きの数値)を入力すると、正しく読み取れずエラーになります。入力値の検証やエラー処理をしっかり行いましょう。
  • printf%fを使う場合、対応する変数はdouble型である必要があります。int型やfloat型をそのまま渡すと予期しない動作になることがあります。
  • 計算結果をint型の変数に代入すると、小数点以下は自動的に切り捨てられます。平均値など小数が必要な場合はdouble型を使いましょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?