수안보중학교 로고이미지

RSS 페이스북 공유하기 트위터 공유하기 카카오톡 공유하기 카카오스토리 공유하기 네이버밴드 공유하기 프린트하기
14. 6개의 문자를 출력결과와 같이 정렬하는 프로그램을 작성하시오.
작성자 수안보중학교 등록일 19.10.10 조회수 20

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");
}
 
<출력결과>

<정렬전>
도담삼봉
석문
옥순봉
구담봉
사인암
중선암
 
<정렬후>
구담봉
도담삼봉
사인암
석문
옥순봉

 

이전글 15. 임의의 정수 3개를 입력하여 가장 큰수 출력하는 프로그램을 조건연산자를 이용하여 출
다음글 ⁠13. 10~30사이의 난수 10개를 발생시켜 오름차순으로 거품정렬하는 프로그램을 작성하