반응형
다음 코드는 qsort를 이용해서 실수형 double 자료를 정렬하는 코드입니다.
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
void print(double arr[], int size)
{
for (int i = 0; i < size; i++)
printf("%4.1f ", arr[i]);
printf("\n");
}
int compare(const void *arg1, const void *arg2)
{
if (*(double *)arg1 > *(double *)arg2) return 1;
else if (*(double *)arg1 < *(double *)arg2) return -1;
else return 0;
}
int main()
{
double list[9] = { 2.1, 0.9, 1.6, 3.8, 1.2, 4.4, 6.2, 9.1, 7.7 };
print(list, 9);
qsort((void *)list, 9, sizeof(double), compare);
print(list, 9);
return 0;
}
(Output)
2.1 0.9 1.6 3.8 1.2 4.4 6.2 9.1 7.7
0.9 1.2 1.6 2.1 3.8 4.4 6.2 7.7 9.1
반응형
'C_C++' 카테고리의 다른 글
(C++) 숫자 맞추기 게임: 클래스 이용 (63) | 2023.12.07 |
---|---|
(C++) 클래스 기초: 차량 정보 표현하기 (45) | 2023.12.03 |
(C언어) XOR 비트 연산자를 이용한 암호화 복호화 (19) | 2023.11.27 |
(C언어) ltrim(), rtrim() 함수 구현: 문자열에서 앞쪽 뒤쪽 공백 제거 (1) | 2023.11.24 |
(C언어) trim() 함수 구현: 문자열에서 양쪽 공백 제거하기 (1) | 2023.11.24 |