본문 바로가기

Programming/Tutoring

1주차 - 답안

#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