九度OJ 1066:字符串排序 (排序)

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:5632

解决:2299

题目描述:

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

输入:

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

输出:

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

按照ASCII码的大小对输入的字符串从小到大进行排序,输出排序后的结果
样例输入:
dcba
样例输出:
abcd
来源:
2001年清华大学计算机研究生机试真题(第II套)

思路:

排序题用sort和qsort


代码:

#include <stdio.h>
#include <string.h>
 
int main(void)
{
    char s[20];
    char tmp;
    int i, j, len;
 
    while (scanf("%s", s) != EOF)
    {
        len = strlen(s);
        for (i=0; i<len-1; i++)
        {
            for (j=0; j<len-1-i; j++)
            {
                if (s[j] > s[j+1])
                {
                    tmp = s[j];
                    s[j] = s[j+1];
                    s[j+1] = tmp;
                }
            }
        }
        printf("%s\n", s);
    }
 
    return 0;
}
/**************************************************************
    Problem: 1066
    User: liangrx06
    Language: C
    Result: Accepted
    Time:120 ms
    Memory:912 kb
****************************************************************/


posted on 2015-10-22 12:52  梁山伯  阅读(149)  评论(0编辑  收藏  举报

导航