#include <stdio.h>
#define swap(type, x, y) do { type tmp = x; x = y; y = tmp; } while(0) //swap 함수를 정의함
#define MAX_ARRAY 5
void selectionSort(int a[], int n); //입력받은 n개의 배열을 오름차순으로 선택정렬하는 함수
void scanfAll(int a[], int n); //MAX_ARRAY 개의 입력받은 수로 배열을 초기화 하는 함수
void printAll(int a[], int n); //MAX_ARRAY 개의 배열을 출력하는 함수
int main() {
int ary[MAX_ARRAY];
scanfAll(ary, MAX_ARRAY);
printAll(ary, MAX_ARRAY); //정렬 전
selectionSort(ary, MAX_ARRAY);
printAll(ary, MAX_ARRAY); //정렬 후
}
void selectionSort(int a[], int n) { //입력받은 n개의 배열을 오름차순으로 선택정렬하는 함수
int least; //배열중 최솟값의 인덱스
int crt, j;
for (crt = 0; crt < n - 1; crt++) { //n - 1번만 반복
least = crt;
for (j = crt + 1; j < n; j++)
if (a[least] > a[j]) least = j; //오름차순
swap(int, a[least], a[crt]);
}
}
void scanfAll(int a[], int n) { //MAX_ARRAY 개의 입력받은 수로 배열을 초기화 하는 함수
int i;
for (i = 0; i < n; i++) {
printf("%2d 번째 수를 입력하시오 : ", i + 1);
scanf_s("%d", &a[i]);
}
}
void printAll(int a[], int n) { //MAX_ARRAY 개의 배열을 출력하는 함수
int i;
for (i = 0; i < n; i++) printf(" [%2d] ", a[i]);
printf("\n");
}
'Programming > Tutoring' 카테고리의 다른 글
백준 (0) | 2019.05.07 |
---|---|
윤년 답안 - 함수로 분할 (0) | 2019.04.02 |
공모전 (0) | 2019.04.02 |
윤년 참고 코드 (0) | 2019.03.26 |
1주차 - 윤년 && 선택정렬 (0) | 2019.03.26 |