오늘은 정수를 입력받고 오름차순/내림차순(sort)를 표현하는 알고리즘을 구현해보겠습니다
문제: 정수를 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개를 배열에 입력받고 내림차순으로 정렬하는 프로그램을 만들어라
답안:
/*숫자 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언어로 구사하는 알고리즘 1. 날짜값을 넣으면 해당 요일이 나오는 코딩 예제(윤년계산)
👉C언어로 구사하는 알고리즘 2. 형변환 그레이코드를 만드는 알고리즘
'코딩 이야기' 카테고리의 다른 글
[C언어] 주사위를 던져 각 면이 몇번 나왔는지 반환하는 함수를 만들어보자 (0) | 2021.07.28 |
---|---|
[C언어] 함수를 이용한 계산기 프로그램을 작성해보자 (0) | 2021.07.27 |
[C언어] 성적 석차 구하기 알고리즘 구현하기 (0) | 2021.07.11 |
[C언어] 형변환 그레이코드를 만드는 알고리즘 (0) | 2021.07.11 |
[C언어] 알고리즘/순서도/프로그래밍 개념/디버깅이란? (0) | 2021.07.07 |