C言語で999を超えると合計、平均、最大、最小を出すプログラム
auです。
今回は任意の数を入力して、999を超えるとそれぞれの「」を出すプログラムを組みました。
#include <stdio.h> int main(void) { int number, total, max, min, count, ave; number = 0; total = 0; count = 1; // 1回目を基準にするためループの外で入力 printf("%d回目の点数: ", count); scanf("%d", &number); max = number; min = number; total = number; printf("現在の合計: %d\n", total); // 合計点数が999以上になるまで繰り返す while (total <= 999) { count++; // 何回目の入力か printf("%d回目数を入力してください: ", count); scanf("%d", &number); total += number; // n回目より大きい場合 if (number > max) { max = number; // n回目より小さい場合 } if (number < min) { min = number; } printf("現在の合計: %d\n", total); } // 平均 ave = total / count; printf("合計: %d\n平均: %d\n最大: %d\n最小: %d\n", total, ave, max, min); return 0; } // 実行結果 1回目の点数: 100 現在の合計: 100 2回目数を入力してください: 200 現在の合計: 300 3回目数を入力してください: 300 現在の合計: 600 4回目数を入力してください: 500 現在の合計: 1100 合計: 1100 平均: 275 最大: 500 最小: 100
最初に基準を作ることで、2回目にどの数字をいれても、最大最小が更新されるようにしました。
ifと違ってwhileの場合、平均を出す際に-1しなくても大丈夫でした。