문제 설명
N개의 정수가 주어질 때 가장 작은 수 4개를 출력하는 프로그램을 작성하시오.
입력 설명
첫 줄에 정수의 개수 N(4≤N≤30,000)이 주어진다.
둘째 줄에는 N개의 정수가 공백으로 구분되어 주어진다. (각 정수는 0 이상 10억 이하)
출력 설명
값이 작은 정수부터 4개를 출력한다.
입력 예시
8
2 4 7 8 8 9 4 3
출력 예시
2 3 4 4
#include <stdio.h>
#include <stdlib.h>
#define MAXN ((int)3e4)
int N;
int A[MAXN + 10];
void simplesort(int s, int e){
for (int i=s; i<s+4; 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<4; 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;
}