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 }
如果你不开心,那我就把右边这个帅傻子分享给你吧,
你看,他这么好看,那么深情的望着你,你还伤心吗?
真的!这照片盯上他五秒钟就想笑了。
一切都会过去的。