티스토리 뷰
반응형
5개의 문자열을 받아 긴 문자열부터 출력
입력)
00000
00
000
0
0000
출력)
0
00
000
0000
00000
#include <stdio.h> #include <stdlib.h> #include <string.h> int compare(const void *, const void *); // 비교 함수 선언 int main() { unsigned int input_length = 5; char **input = (char **) malloc(sizeof(char *) * input_length); // 문자열 저장 포인터 for (unsigned int i = 0; i < input_length; i++) { *(input + i) = (char *) malloc(sizeof(char) * 10); // 9개의 문자를 받을 수 있는 문자열 gets(*(input + i)); // gets가 위험한 함수 판정은 받았지만 공백있는 문자열 입력에 가장 쉬움. } printf("\n"); qsort(input, input_length, sizeof(char *), compare); // stdlib.h의 Quick sort 함수. 정렬할 대상, 정렬할 길이, 정렬할 대상의 하나의 크기, 비교 함수를 인수로 받음. for (unsigned int i = 0; i < input_length; i++) { printf("%s\n", *(input + i)); free(*(input + i)); } free(input); return 0; } int compare(const void *compare1, const void *compare2) { // 비교 함수 정의 return strcmp(*(const char **) compare1, *(const char **) compare2); // strcmp로 간단히 길이 비교 가능 }
반응형
'간단 문제 풀이' 카테고리의 다른 글
[C 터렛] 백준 1002 (0) | 2018.01.21 |
---|---|
[C 알고리즘] 그놈에 다이아몬드 찍기 (0) | 2018.01.11 |
[C 문자] 알파벳 계단 출력 (0) | 2017.12.14 |
[C 배열] 알파벳 제외 (0) | 2017.12.14 |
[C 배열] 채점하기 (0) | 2017.12.14 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 포인터
- 객체지향
- vector
- dokdo project
- inline class
- linaro
- d802
- C++
- c++ struct
- cyanogenmod
- nodeal
- CM10.2
- f320s
- rule_of_five
- Kotlin
- g2 korea
- C++ 업캐스팅
- c++11
- Java
- G2
- LG
- c++ 상속
- CM11
- OOP
- rule_of_three
- C
- dokdo 4.0.3
- PipelineContext
- dokdo-project
- f320k
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함