출력에 평균값들 잘못되어 있음.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include<stdio.h>
 
main(){
 int a[5][3= { { 301011 }, { 409032 }, { 706556 }, { 704332 }, { 801089 } };
 int sum[5= { 0, };
 int ssum[3= { 0, };
 int i, j,n=5,m=3;
 
 
 printf("# 각 시험의 최대, 최저, 평균 점수\n");
 for (i = 0; i < m; i++){
  int smax = a[0][i], smin = a[0][i];
  printf("시험 %d ",i+1);
  for (j = 0; j < n; j++){
   if (a[j][i]>smax)smax = a[j][i];
   if (a[j][i]<smin)smin = a[j][i];
   ssum[i] += a[j][i];
  }
  printf("최대점수=%d\n", smax);
  printf("       최저점수=%d\n", smin);
  printf("       평균점수=%.2lf\n", (double)ssum[i] / n);
 }
 
 
 printf("\n# 각 학생의 최고, 최하, 평균점수\n");
 for (i = 0; i <n ; i++){
  int smax = a[i][0], smin = a[i][0];
  printf("학생 %d ", i + 1);
  for (j = 0; j < m; j++){
   if (a[i][j]>smax)smax = a[i][j];
   if (a[i][j]<smin)smin = a[i][j];
   sum[i] += a[i][j];
  }
  printf("최대점수=%d\n", smax);
  printf("       최저점수=%d\n", smin);
  printf("       평균점수=%.2lf\n", sum[i] / 5.0);
 }
 
 
 //정렬
 int t,k;
 for (i = 0; i < n-1; i++){
  for (j = i+1; j < n; j++){
   if (sum[i] > sum[j]){ t = sum[i]; sum[i] = sum[j]; sum[j] = t; }
  }
 }
 for (k = 0; k < m; k++){
  for (i = 0; i < n-1; i++){
   for (j = i + 1; j < n; j++){
    if (a[i][k]>a[j][k]){ t = a[i][k]; a[i][k] = a[j][k]; a[j][k] = t; }
   }
  }
 }
 
 
 printf("\n# 각 시험마다 산술 평균값, 중간값, 모드값(최빈값)\n");
 //최빈값 찾기
 for (k = 0; k < m; k++){
  printf("시험 %d ", k + 1);
  int cnt = 1, q = a[0][k], max = 1, ss = a[0][k];
  for (i = 1; i < n; i++){
   if (a[i][k] != q){
    if (max < cnt){ max = cnt; ss = q; }
    cnt = 1;
    q = a[i][k];
   }
   else{ cnt++; }
  }
  printf("산술평균=%.2lf\n", (double)ssum[k] / n);
  printf("       중앙값=%d\n", a[n/2][k]);
  printf("       최빈값=%d\n", ss);
 }
 
 printf("\n# 각 학생별로 총점을 구하고 이 총점을 기준으로 정렬\n");
 for (i = 0; i < 5; i++)
  printf("%d\n", sum[i]);
 
cs


+ Recent posts