코딩 이야기

[C언어] 정수 오름차순/내림차순을 구현하는 알고리즘(SORT)

고주망고 2021. 7. 13. 23:00

오늘은 정수를 입력받고 오름차순/내림차순(sort)를 표현하는 알고리즘을 구현해보겠습니다

 

 

오름차순이 적용된 정수 예제1

 

오름차순이 적용된 정수 예제2

 

제: 정수를 5개를 배열에 입력받고 오름차순으로 정렬하는 프로그램을 만들어라

답안: 

/*숫자 5개를 배열에 입력받아서 오름차순으로 정렬하는 알고리즘*/ 

#include <stdio.h> 

int main(void) {
int i;
int j;
int temp; //값을 임시적으로 저장할 변수 
int num[5] = { 0 };

printf("값을 5개 입력해주세요:");
for (i = 0; i < 5; i++) {
scanf_s("%d", &num[i]);
}

for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
if (num[i] < num[j]) {   //이부분이 상당히 중요한 부분입니다
temp = num[i];
num[i] = num[j];
num[j] = temp;
}
}
}

printf("정렬 결과는: ");
for (i = 0; i < 5; i++) {
printf("%d ", num[i]);
}

return 0;
}

 

 

 

문제: 정수를 5개를 배열에 입력받고 내림차순으로 정렬하는 프로그램을 만들어라

답안: 

 

내림차순이 적용된 정수 예제1

 

내림차순이 적용된 정수 예제2

/*숫자 5개를 배열에 입력받아서 내림차순으로 정렬하는 알고리즘*/
#include <stdio.h>

int main(void) {
int i;
int j;
int temp; //값을 임시적으로 저장할 변수
int num[5] = { 0 };

printf("값을 5개 입력해주세요:");
for (i = 0; i < 5; i++) {
scanf_s("%d", &num[i]);
}

for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
if (num[i] > num[j]) {
temp = num[i];
num[i] = num[j];
num[j] = temp;
}
}
}

printf("정렬 결과는: ");
for (i = 0; i < 5; i++) {
printf("%d ", num[i]);
}

return 0;
}

 

 

 

 


다들 어디가 가장 중요한지 느끼셨나요??

바로 "IF절" 안이 가장 중요한데요

나머지 내용은 다 똑같아도 <이면 오름차순이 되고 >이면 내림차순이 된답니다

 

 

C언어에 더 알고 싶다면?

👉C언어 마이크로 소프트 Visual Studio 2019 설치방법은?

👉C언어 알고리즘/순서도/프로그래밍 개념/디버깅이란?

👉C언어로 구사하는 알고리즘 1. 날짜값을 넣으면 해당 요일이 나오는 코딩 예제(윤년계산)

👉C언어로 구사하는 알고리즘 2. 형변환 그레이코드를 만드는 알고리즘

👉C언어로 구사하는 알고리즘 3. 성적 석차 구하기 알고리즘 구현하기

👉C언어로 구사하는 알고리즘 4. 정수 오름차순/내림차순을 구현하는 알고리즘(SORT)