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;
}
불러오는 중...