오늘은 코딩도장 73.7 심사문제 풀이를 해보겠습니다.
<문제>표준 입력으로 길이 10 이하의 문자열이 10개 입력됩니다(중복 값은 없습니다). 다음 소스 코드를 완성하여 입력된 문자열이 내림차순으로 정렬되도록 만드세요.
퀵 정렬 함수에는 정렬할 배열, 요소 개수, 요소 크기, 비교 함수를 넣어줍니다.
비교 함수는 int형 반환값을 가지고, const void 포인터 매개변수가 두 개 있습니다.
오름차순 정렬 조건은
내림차순 정렬 조건은
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int compare(const void *a, const void *b){
return strcmp((char *)b, (char *)a);
}
int main()
{
char s1[10][20];
scanf("%s %s %s %s %s %s %s %s %s %s",
s1[0], s1[1], s1[2], s1[3], s1[4], s1[5], s1[6], s1[7], s1[8], s1[9]
);
qsort(s1, sizeof(s1) / sizeof(s1[0]), sizeof(s1[0]), compare);
for (int i = 0; i < 10; i++)
{
printf("%s ", s1[i]);
}
printf("\n");
return 0;
}
[c언어] 코딩도장 53.7 나이가 가장 많은 사람 찾기 문제풀이 (4) | 2021.07.17 |
---|---|
[c언어] 코딩도장 31.7 산 모양으로 별 출력하기 문제풀이 (0) | 2021.07.16 |
[c언어] 코딩도장 71.10 파일을 부분적으로 읽기 문제 풀이 (0) | 2021.07.08 |
[c언어] 코딩도장 68.5 반환값과 매개변수가 있는 함수 포인터 만들기 문제풀이 (0) | 2021.07.02 |
[c언어] 코딩도장 66.7 가변 인자의 정수 합 구하기 문제풀이 (0) | 2021.07.01 |
댓글 영역