codevs 3026 恶心的扑克

时间限制: 1 s
 空间限制: 64000 KB
 题目等级 : 白银 Silver
题目描述 Description

有一副恶心的扑克,从小到大依次是3 , 4 , 5 , 6 , 7 , 8 , 9 , J , Q , K , A , 2 ,每种都有100张。现在输入一个string,每一个字符都是其中的一种,你的任务是:从小到大排序后输出。

输入描述 Input Description

参见样例

输出描述 Output Description

参见样例

样例输入 Sample Input

 

输入样例:4Q3KA292376J

 

输出样例:334679JQKA22

 

样例输出 Sample Output

输出样例:334679JQKA22

数据范围及提示 Data Size & Hint

字符串长度小于200

 

简单的排序

屠龙宝刀点击就送

#include <algorithm>
#include <iostream>
#include <string>
#include <cstdio>

using namespace std;

string a;
char s[1000];
bool cmp(char a,char b)
{
    return a<b;
}
int main()
{
    cin>>a;
    int len=a.length();
    for(int i=0;i<len;++i)
    {
        if(a[i]=='J') s[i]='v';
        else if(a[i]=='Q') s[i]='w';
        else if(a[i]=='K') s[i]='x';
        else if(a[i]=='A') s[i]='y';
        else if(a[i]=='2') s[i]='z';
        else s[i]=a[i];
    }
    sort(s,s+len,cmp);
    for(int i=0;i<len;++i)
    {
        if(s[i]=='v') printf("J");
        else if(s[i]=='w') printf("Q");
        else if(s[i]=='x') printf("K");
        else if(s[i]=='y') printf("A");
        else if(s[i]=='z') printf("2");
        else printf("%c",s[i]);
    }
}

 

posted @ 2017-03-25 10:52  杀猪状元  阅读(177)  评论(0编辑  收藏  举报