CODE[VS] 3026 恶心的扑克

题目描述 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

不看题解a题就是爽。

这个题我的思路是用一个结构体,

记录纸牌的大小,和纸牌大小顺序转化成int整数,

然后按照整数排序就好了,

然后代码实现的时候输入出现了一点小问题,,,

然后,,,问了某dalao。。。

我真zz。。

先输入一个字符串,

然后转给结构体里的就好了啊。。

ac代码:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 #include<algorithm>
 5 #include<cstring>
 6 using namespace std;
 7 
 8 char c[202];
 9 
10 struct node
11 {
12     char q;
13     int w;
14 } a[202];
15 
16 bool cmp(node x,node y)
17 {
18     return x.w <y.w ;
19 }
20 
21 int main()
22 {
23     cin>>c;
24     int l=strlen(c);
25     for(int i=0; i<l; ++i)
26     {
27         a[i].q =c[i];
28         if(a[i].q >='3'&&a[i].q <='9')
29             a[i].w =a[i].q -'0';
30         if(a[i].q =='J')
31             a[i].w =10;
32         if(a[i].q =='Q')
33             a[i].w =11;
34         if(a[i].q =='K')
35             a[i].w =12;
36         if(a[i].q =='A')
37             a[i].w =13;
38         if(a[i].q =='2')
39             a[i].w =14;
40     }
41     sort(a,a+l,cmp);
42     for(int i=0;i<l;++i)
43         cout<<a[i].q ;
44     return 0;
45 }

如果你不开心,那我就把右边这个帅傻子分享给你吧,


你看,他这么好看,那么深情的望着你,你还伤心吗?


真的!这照片盯上他五秒钟就想笑了。


一切都会过去的。

原文地址:https://www.cnblogs.com/Mary-Sue/p/9424404.html