#include <stdio.h>
#define NUMBER 5
int max_of(const int vc[5][3], int no, int x)
{
int i;
int max = vc[0][x];
for (i = 1; i < no; i++)
if (vc[i][x] > max)
max = vc[i][x];
return (max);
}
int min_of(const int vc[5][3],int no, int x)
{
int j;
int min = vc[0][x];
for (j = 1; j < no; j++){
if (vc[j][x] < min)
min = vc[j][x];
}
return(min);
}
double ave_of(int vc[5][3],int no, int x)
{
int k;
double a;
double sum = vc[0][x];
for(k = 1; k < no; k++){
sum += vc[k][x];
}
a = sum / NUMBER;
return(a);
}
int main(void)
{
int i, j, tensu = 0;
int max_j, max_e, max_m;
int min_j, min_e, min_m;
double ave_j, ave_e, ave_m;
double ave = 0;
int ten[5][3] = {{10,20,30},
{40,50,60},
{70,80,90},
{80,70,60},
{50,40,30}};
max_j = max_of(ten, NUMBER, 0);
max_e = max_of(ten, NUMBER, 1);
max_m = max_of(ten, NUMBER, 2);
min_j = min_of(ten, NUMBER, 0);
min_e = min_of(ten, NUMBER, 1);
min_m = min_of(ten, NUMBER, 2);
ave_j = ave_of(ten, NUMBER, 0);
ave_e = ave_of(ten, NUMBER, 1);
ave_m = ave_of(ten, NUMBER, 2);
printf("国語の最高点=%d\n", max_j);
printf("英語の最高点=%d\n", max_e);
printf("数学の最高点=%d\n", max_m);
printf("国語の最低点=%d\n", min_j);
printf("英語の最低点=%d\n", min_e);
printf("数学の最低点=%d\n", min_m);
printf("国語の平均点=%.1f\n", ave_j);
printf("英語の平均点=%.1f\n", ave_e);
printf("数学の平均点=%.1f\n", ave_m);
putchar('\n');
puts("番号:国 英 数 合計 平均");
for (i = 0; i < NUMBER; i++) {
tensu = 0; ave = 0;
printf("[%2d]:", i+1);
for (j = 0; j < 3; j++) {
tensu += ten[i][j];
ave = tensu / 3;
printf("%2d ", ten[i][j]);
}
printf(" %3d %.1f\n", tensu, ave);
}
return (0);
}