c·c++/c 프로그래밍

문자의 정렬 - 색다른 버젼

바로이순간 2011. 12. 15. 13:36

#include <stdio.h>

#include <string.h>

int main() {
    int i,j,k,n;
    char y[100];
    char x[100];


    printf("Enter a string: ");


    scanf("%s",x);
    n=strlen(x);


    for(i=0;i<n;++i) {
        k=0;                       // x[i] 보다 작은 문자의 갯수를 센다.
        for(j=0;j<i;++j)         // i 보다 앞에 있는 같거나 작은 문자의 갯수
            if(x[j]<=x[i]) ++k;
        for(j=i+1;j<n;++j)      // i 보다 뒤에 있는 작은 문자의 갯수
            if(x[j]<x[i]) ++k;
        y[k]=x[i];                 // x[i] 보다 작은 문자가 k개 있다. 따라서 x[i]는
    }                                 // k 번째 자리를 차지한다.

    y[n]=0;                       // 널문자를 넣어주어야 문자열이 만들어 진다.
    printf("%s",y);

    return 0;

}