题解 | #字符串合并处理#

字符串合并处理

https://www.nowcoder.com/practice/d3d8e23870584782b3dd48f26cb39c8f

输入s1、s2,合并得到str;利用s1,s2得到奇偶的排序,在赋予str,

转换只有十六种情况,用Switch分别列举

#include<iostream>
#include<string>//字符串 本质是一个类 
#include<algorithm>//算法 
using namespace std;
int main()
{
	string s1 = "";
	string s2 = "";
	cin >> s1 >> s2;
	
	string str = s1 + s2;
	s1 = "";
	s2 = "";
	for (int i = 0; i < str.size(); ++i)
	{
		if (i % 2 == 0)
		{
			s1 += str[i];
		}
		else
		{
			s2 += str[i];
		}
	}
	sort(s1.begin(), s1.end());
	sort(s2.begin(), s2.end());
	
	int j = 0;
	int k = 0;
	for (int i = 0; i < str.size(); ++i)
	{
		if (i % 2 == 0)
		{
			str[i] = s1[j];
			j++;
		}
		else
		{
			str[i] = s2[k];
			k++;
		}
	}
	
	for (int i = 0; i < str.size(); ++i)
	{
		switch (str[i])
		{
		case '1':
			str[i] = '8';
			break;
		case '2':
			str[i] = '4';
			break;
		case '3':
			str[i] = 'C';
			break;
		case '4':
			str[i] = '2';
			break;
		case '5':
			str[i] = 'A';
			break;
		case '6':
			str[i] = '6';
			break;
		case '7':
			str[i] = 'E';
			break;
		case '8':
			str[i] = '1';
			break;
		case '9':
			str[i] = '9';
			break;
		case 'a':
		case 'A':
			str[i] = '5';
			break;
		case 'b':
		case 'B':
			str[i] = 'D';
			break;
		case 'c':
		case 'C':
			str[i] = '3';
			break;
		case 'd':
		case 'D':
			str[i] = 'B';
			break;
		case 'e':
		case 'E':
			str[i] = '7';
			break;
		case 'f':
		case 'F':
			str[i] = 'F';
			break;
            default:
            break;
		}
	}
	cout << str << endl;
	system("pause");
	return 0;
}

全部评论

相关推荐

08-07 11:15
门头沟学院 Java
感觉他们公司效率好高,秒挂我简历然后又给我推荐了岗位让我投原批yyds
没有offer别哭好...:是的,然后我投了邮件里的链接,又秒挂了
投递米哈游等公司10个岗位
点赞 评论 收藏
分享
投递米哈游等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务