배열을 공부하고 있는데 이해가 안되서요. 부탁드려요!
개랑
2023.04.01
질문 제목 : 배열의 정렬을 공부하고 있는데 이해가 안되서요.코드해석 좀 부탁드려요.질문 내용 :
#include stdio.h
#define num5
{
int test[num];
int tmp;
int i,j,s,t;
printf(%d명의 점수를 입력하세요 \n , num);
for(i=0; inum; i++){
scanf(%d, &test[i]);
}
for(s=0; snum-1; s++){
for(t=s+1; tnum; t++){
if(test[t] test[s]){
tmp = test[t];
test[t] = test[s];
test[s] = tmp;
}
}
}
for(j=0; jnum; j++){
printf(%d등 점수는 %d점입니다. \n, j+1, test[j]);
}
return 0;
}
어떻게해서 점수가 비교되서 어떻게 정렬이 되는건지 궁금해요.
책으로 공부하고 있는데 쳐봐도 아해가 안되네요. 부탁드립니다.
-
BlackCat
a, b, c, d, e의 5명의 성적을 비교한다고 합시다.
처음에 test배열에 5명의 성적이 들어있습니다.
test[0]의 값과 test[1]의 값을 비교해서 test[1]의 값이 크다면 test[0]에 넣고
작은 값을 test[1]에 넣는것입니다. 이 과정을 하려면 임시로 큰값을 저장할 변수가 필요한데,
그것이 tmp변수가 됩니다.