C언어 계열

등수 포지션 바꾸려면 printf("% 11.2lf ", average); 다음줄에 printf("%4d\n", rank[i]);가 나와야되는데 그렇게 하려면 어떻게 해야 할까요

he

helroweoldeu_47585
답변 대기중
30 XP

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h> // Added for time()

#define _CRT_SECURE_NO_WARNINGS
#define STUDENT 10
#define TEST 3

void minmax(int grade[STUDENT][TEST]) {
int min, max;
for (int i = 0; i < TEST; i++) {
min = max = grade[0][0];
for (int j = 0; j < STUDENT; j++) {
if (min >= grade[j][i])
min = grade[j][i];
if (max <= grade[j][i])
max = grade[j][i];
}
printf("시험 %d) 최대점수: %d, 최소점수: %d\n", i + 1, max, min);
}
}

int main(void) {
srand((unsigned)time(NULL));

int grade[STUDENT][TEST] = { 0 };
int arr_avg[STUDENT];
int rank[STUDENT] = { 0 };
double average;

printf("  시험 1   시험 2   시험 3   평균점수  등수\n");

for (int i = 0; i < STUDENT; i++) {
    for (int j = 0; j < TEST; j++) {
        grade[i][j] = rand() % 101;
        printf("%8d", grade[i][j]);
    }
    average = (double)(grade[i][0] + grade[i][1] + grade[i][2]) / TEST;
    printf("% 11.2lf  ", average);

    arr_avg[i] = average;

    printf("\n");
}

for (int i = 0; i < STUDENT; i++) {
    for (int j = 0; j < STUDENT; j++) {
        if (arr_avg[i] < arr_avg[j]) {
            rank[i]++;
        }
    }
    rank[i]++;
}



for (int i = 0; i < STUDENT; i++) {
    printf("%4d\n", rank[i]);
}

printf("\n");

minmax(grade);

return 0;

}


불러오는 중...