14. 6개의 문자를 출력결과와 같이 정렬하는 프로그램을 작성하시오. <프로그램 소스> #include <stdio.h> // printf() #include <string.h> // strcmp(), strcpy() //*********************************************************** // a[]의 각 요소를 올림차순으로 정렬. n:요소갯수 //*********************************************************** void GPmJRyul(char *a[], int n) { int i, j; char *imsi; for (i=0 ; i<n-1 ; i++) // n-1 회전 비교/교환 { for (j=0 ; j<n-i-1 ; j++) // i-1번 비교/교환 if ( strcmpi(a[j], a[j+1]) > 0 ) { imsi = a[j]; a[j] = a[j+1]; a[j+1] = imsi; } } } //******************************************************************* int main() { char *sr[]={ "도담삼봉", "석문", "옥순봉", "구담봉", "사인암", "중선암" }; int i; puts("\n<정렬전>"); for (i=0 ; i<6 ; i++) printf("%-10s\n", sr[i]); GPmJRyul(sr, 5); puts("\n<정렬후>"); for (i=0 ; i<5 ; i++) printf("%-10s\n", sr[i]); printf("\n\n"); } <출력결과> <정렬전> 도담삼봉 석문 옥순봉 구담봉 사인암 중선암 <정렬후> 구담봉 도담삼봉 사인암 석문 옥순봉 |
|