문제 설명
N개의 자연수가 주어질 때 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오.
입력 설명
첫 줄에 자연수의 개수 N(1≤N ≤5,000)이 주어진다.
둘째 줄에는 N개의 자연수가 공백으로 구분되어 주어진다. (각 자연수는 10억이하의 수)
출력 설명
오름차순으로 정렬한 수들을 출력한다.
입력 예시
10
8 24 27 18 20 6 17 19 30 11
출력 예시
6 8 11 17 18 19 20 24 27 30
#include <stdio.h>
#include <stdlib.h>
#define MAXN ((int)5e3)
int N;
int A[MAXN + 10];
void simplesort(int s, int e){
for (int i=s; i<e; i++){
for (int j=i+1; j<=e; j++){
if (A[i] > A[j]){
int tmp = A[i];
A[i] = A[j];
A[j] = tmp;
}
}
}
}
int comp(const void *a, const void *b){
return *(int*)a - *(int*)b;
}
void InputData(void){
scanf("%d", &N);
for (int i=0; i<N; i++){
scanf("%d", &A[i]);
}
}
void OutputData(void){
for (int i=0; i<N; i++){
printf("%d ", A[i]);
}
printf("\n");
}
int main(void){
InputData();//입력 받는 부분
simplesort(0, N-1);//여기서부터 작성
//qsort(A, N, sizeof(A[0]), comp);
OutputData();//출력 하는 부분
return 0;
}
문제 설명
N개의 자연수가 주어질 때 내림차순으로 정렬하여 출력하는 프로그램을 작성하시오.
입력 설명
첫 줄에 자연수의 개수 N(1≤N ≤5,000)이 주어진다.
둘째 줄에는 N개의 자연수가 공백으로 구분되어 주어진다. (각 자연수는 10억이하의 수)
출력 설명
내림차순으로 정렬한 수들을 출력한다.
입력 예시
10
8 24 27 18 20 6 17 19 30 11
출력 예시
30 27 24 20 19 18 17 11 8 6
#include <stdio.h>
#include <stdlib.h>
#define MAXN ((int)5e3)
int N;
int A[MAXN + 10];
void simplesort(int s, int e){
for (int i=s; i<e; i++){
for (int j=i+1; j<=e; j++){
if (A[i] < A[j]){
int tmp = A[i];
A[i] = A[j];
A[j] = tmp;
}
}
}
}
int comp(const void *a, const void *b){
return *(int*)b - *(int*)a;
}
void InputData(void){
scanf("%d", &N);
for (int i=0; i<N; i++){
scanf("%d", &A[i]);
}
}
void OutputData(void){
for (int i=0; i<N; i++){
printf("%d ", A[i]);
}
printf("\n");
}
int main(void){
InputData();//입력 받는 부분
simplesort(0, N-1);//여기서부터 작성
//qsort(A, N, sizeof(A[0]), comp);
OutputData();//출력 하는 부분
return 0;
}