解题思路:

注意事项:

参考代码:

#include<iostream>

#include<iterator>

#include<stdio.h>

#include<iomanip>

#include<string>

#include<cstring>

#include<string.h>

#include<vector>

#include<algorithm>

#include<stdio.h>

#include<math.h>

#include<map>

#include<vector>

#include<stack>

#include<queue>

#include<sstream>

using namespace std;

class card

{

public:int a; int b;

   char c; char d;

   void fun()

   {

   if (c <= '9'&&c >= '2')

   a = c - '0';

   else if (c == '1')

   a = 10;

   else if (c == 'J')

   a = 11;

   else if (c == 'Q')

   a = 12;

   else if (c == 'K')

   a = 13;

   else if (c == 'A')

   a = 14;

   if (d == 'd')

   b = 0;

   else if (d == 'c')

   b = 1;

   else if (d == 'h')

   b = 2;

   else if (d == 's')

   b = 3;

}

   void print()

   {

   if (c == '1')

   cout << c << '0' << d;

   else cout << c << d;

   }

};

bool compare(card a, card b)

{

if (a.a < b.a)

return true;

else if (a.a == b.a)

{

if (a.b < b.b)

return true;

else return false;

}

else return false;

}

int  main()

{

string s;

cin >> s;

card card[5];

int flag =0;

for (int i = 0; i <s.length(); i += 2)

{

if (s[i] == '1')

{

card[flag].c = s[i];

i++;

card[flag].d = s[i + 1];

card[flag].fun();

}

else

{

card[flag].c = s[i];

card[flag].d = s[i + 1];

card[flag].fun();

}

flag++;

}

sort(card, card + 5, compare);

for (int i = 0; i < 5; i++)

{

card[i].print();

cout << " ";

}

return 0;

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论