fork download
  1. #include <stdio.h>
  2.  
  3. #define MAX 100 // 配列の最大サイズ
  4. int seiseki[MAX]; // 成績を格納する配列
  5. int size = 0; // 入力された成績の個数
  6.  
  7. // 成績を記録する関数(record)
  8. void record(int score) {
  9. if (size < MAX) {
  10. seiseki[size] = score; // 配列に点数を記録
  11. size++; // 記録された個数を更新
  12. } else {
  13. printf("入力上限に達しました。\n");
  14. }
  15. }
  16.  
  17. // 平均値を求める関数(average)
  18. double average() {
  19. if (size == 0) return 0; // 記録がない場合は0を返す
  20.  
  21. int sum = 0;
  22. for (int i = 0; i < size; i++) {
  23. sum += seiseki[i]; // 合計を計算
  24. }
  25. return (double)sum / size; // 平均を求める
  26. }
  27.  
  28. int main() {
  29. int num;
  30. printf("学生の人数を入力してください \n");
  31. scanf("%d", &num);
  32.  
  33. for (int i = 0; i < num; i++) {
  34. int score;
  35. printf("学生 %d の点数を入力\n", i + 1);
  36. scanf("%d", &score);
  37. record(score); // 点数を記録
  38. }
  39.  
  40. printf("平均点: %.2f\n", average());
  41. return 0;
  42. }
Success #stdin #stdout 0.01s 5324KB
stdin
2 3 4 
stdout
学生の人数を入力してください 
学生 1 の点数を入力
学生 2 の点数を入力
平均点: 3.50