fork download
  1. #include <stdio.h>
  2.  
  3. #define MAX 100
  4.  
  5. int size = 0;
  6. int seiseki[MAX];
  7.  
  8. void record(int score);
  9. double average(void);
  10.  
  11. int main(void) {
  12. int num, i, score;
  13.  
  14. printf("学生の人数を入力:\n");
  15. scanf("%d", &num);
  16.  
  17. for (i = 0; i < num; i++) {
  18. printf("%d人目の点数を入力:\n", i + 1);
  19. scanf("%d", &score);
  20. record(score);
  21. }
  22.  
  23. printf("平均点:%.2f\n", average());
  24.  
  25. return 0;
  26. }
  27.  
  28. // 点数を配列に記録し、sizeを更新
  29. void record(int score) {
  30. if (size < MAX) {
  31. seiseki[size] = score;
  32. size++;
  33. } else {
  34. printf("エラー:配列がいっぱいです\n");
  35. }
  36. }
  37.  
  38. // 現在の点数の平均を計算
  39. double average(void) {
  40. int sum = 0;
  41. for (int i = 0; i < size; i++) {
  42. sum += seiseki[i];
  43. }
  44. return size > 0 ? (double)sum / size : 0.0;
  45. }
Success #stdin #stdout 0s 5320KB
stdin
2 3 4 
stdout
学生の人数を入力:
1人目の点数を入力:
2人目の点数を入力:
平均点:3.50