王老头

导航

牛客网 图片整理

题目描述

Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。

 


输入描述:

Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字个数不超过1024。

输出描述:

Lily的所有图片按照从小到大的顺序输出

示例1

输入

Ihave1nose2hands10fingers

输出

0112Iaadeeefghhinnnorsssv

大体思路:先将输入字符串全部处理成对应ASCII码值来进行比较,排序后进行输出。
def myInt(str_):
    Istr = []
    for i in range(len(str_)):
        if(str_[i].isdigit()):
            Istr.append(int(str_[i]))
        elif(str_[i].isalpha()):
            temp = ord(str_[i])
            Istr.append(temp)
        else:
            Istr.append(str_[i])
    return Istr

while True:
    try:
        str_ = raw_input()
        Istr = myInt(str_)
        lstr = sorted(Istr)
        printstr = ''
        for i in range(len(lstr)):
            if(str(lstr[i]) in list(str_)):
                printstr+=str(lstr[i])
            else:
                printstr+=str(chr(lstr[i]))
        print(printstr)
    except:
        break

 

posted on 2018-08-29 11:30  王老头  阅读(129)  评论(0)    收藏  举报