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

문자열안의 문자정렬

바로이순간 2014. 4. 2. 13:35

#include <stdio.h>

int main() {

    FILE *fout;

    char buf[100];

    int i, j, n;

    char t;


    printf("입력 문자 = ? ");

    scanf("%s", buf);   // vc++의 경우 scanf_s("%s", buf, 100); 으로 해줄 수 있습니다.

    i=0;  // 문자열의 길이를 구한다.

    while(buf[i]!=0) {  // 널문자가 나올때 까지 i의 값을 증가시킨다.

        i+=1;

    }

    n=i;   // n은 문자열의 길이이다.

    

    // 버블정렬을 해준다.

    for(i=1;i<n;i+=1) {

        for(j=0;j<n-i;j+=1) {

            if(buf[j]>buf[j+1]) {

                t=buf[j];

                buf[j]=buf[j+1];

                buf[j+1]=t;

            }

        }

    }

    fout=fopen("sort.txt", "w");

    if(fout==NULL) {

        printf("파일을 쓸 수 없습니다.");

        return 1;

    }

    fprintf(fout, "%s", buf);

    fclose(fout);


    return 0;

}