标题1066:字符串排序

题目1066:字符串排序
题目描述:

 输入一个长度不超过20的字符串,对所输入的字符串,按照ASCII码的大小从小到大进行排序,请输出排序后的结果

输入:

 一个字符串,其长度n<=20

输出:

 输入样例可能有多组,对于每组测试样例,

按照ASCII码的大小对输入的字符串从小到大进行排序,输出排序后的结果
样例输入:
dcba
样例输出:
abcd
来源:

2001年清华大学计算机研究生机试真题(第II套)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
    char *a=(char *)malloc(sizeof(char));
    int len,i,j,temp,flag;
    while(scanf("%s",a)!=EOF)
    {
        len=strlen(a);
        for(i=0;i<len;i++)//冒泡
        {
            flag=1;
            for(j=0;j<len-1-i;j++)
            {
                if(a[j]>a[j+1])
                {
                    flag=0;
                    temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                }
            }
            if(flag)
                break;
        }
        printf("%s\n",a);
         
    }
 
   return 0;
 
 
}
/**************************************************************
    Problem: 1066
    Language: C
    Result: Accepted
    Time:110 ms
    Memory:912 kb
****************************************************************/