我是靠谱客的博主 欣喜麦片,这篇文章主要介绍刷题:华为机试 HJ30 字符串合并处理,现在分享给大家,希望可以做个参考。

用到的知识:vector向量和sort函数

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; int main() { string s1, s2,s3; while (cin >> s1 >> s2) { s3 = s1 + s2; vector<char> s4, s5; for (int i = 0; i < s3.length(); i++) { if ((i + 1) % 2 == 0) { s5.push_back(s3[i]); } else { s4.push_back(s3[i]); } } sort(s4.begin(), s4.end()); sort(s5.begin(), s5.end()); int len = s3.length(); s3.clear();//清空s3中的元素,但不回收空间 for (int i = 0,m=0,n=0; i < len; i++) { if ((i + 1) % 2 == 0) { s3.push_back(s5[m]); m++; } else { s3.push_back(s4[n]); n++; } } for (int i = 0; i < len; i++) { if (s3[i] >= '0' && s3[i] <= '9') { switch (s3[i]) { case '0':s3[i] = '0'; break; case '1':s3[i] = '8'; break; case '2':s3[i] = '4'; break; case '3':s3[i] = 'C'; break; case '4':s3[i] = '2'; break; case '5':s3[i] = 'A'; break; case '6':s3[i] = '6'; break; case '7':s3[i] = 'E'; break; case '8':s3[i] = '1'; break; case '9':s3[i] = '9'; break; default: break; } } else if(s3[i] >= 'a' && s3[i] <= 'f') { switch (s3[i]) { case 'a':s3[i] = '5'; break; case 'b':s3[i] = 'D'; break; case 'c':s3[i] = '3'; break; case 'd':s3[i] = 'B'; break; case 'e':s3[i] = '7'; break; case 'f':s3[i] = 'F'; break; default: break; } } else if (s3[i] >= 'A' && s3[i] <= 'F') { switch (s3[i]) { case 'A':s3[i] = '5'; break; case 'B':s3[i] = 'D'; break; case 'C':s3[i] = '3'; break; case 'D':s3[i] = 'B'; break; case 'E':s3[i] = '7'; break; case 'F':s3[i] = 'F'; break; default: break; } } } cout << s3 << endl; } return 0; }

在这里插入图片描述

最后

以上就是欣喜麦片最近收集整理的关于刷题:华为机试 HJ30 字符串合并处理的全部内容,更多相关刷题:华为机试内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部