void main() { int su[10], i, ii, temp; for(i = 0; i < 10; i++) { printf("정수를 입력해 주세요 : "); scanf("%d", &su[i]); } for(i = 0; i < 9; i++) { for(ii = 0; (ii + i) < 9; ii++) { if(su[ii] > su[ii + 1]) { temp = su[ii]; su[ii] = su[ii + 1]; su[ii + 1] = temp; } } } for(i = 0; i < 10; i++) printf("%d\t", su[i]); }
10개의 정수를 입력받기 위해 su[10]를 선언한다. 저장된 정수 값을 바꾸기 위해 temp를 선언한다. 반복문 실행을 위해 i, ii를 선언한다. 이중 for문을 돌려야 하기 때문에 ii를 선언했다.
정렬하는 알고리즘은 비교적 간단하다. 배열 중 0번지와 1전지에 있는 값을 비교해 0번지가 크다면 서로의 값을 바꾸어 주면 된다. 또 1번지의 값과 2번지의 값을 비교해 바꾸어 주고, 이렇게 10번지까지 비교를 하게 되면 10번지에는 가장 큰 값이 들어 있다.
이제 이를 반복하되 10번지에는 이미 제일 큰 값이 들어 있으므로 9번지까지 실행하면 된다. 다음에는 8번지까지 실행하면 된다. 말로 설명하니 어려운데 프로그래밍한 것을 보면 금방 이해 될 꺼라 생각한다.