华为OJ(字符串合并处理)
来源:互联网 发布:艾瑞社交数据研究报告 编辑:程序博客网 时间:2024/05/01 02:58
输入两个字符串
输出转化后的结果
容易出错的是:题目只是对0-9 a-f或A-F之间的字符进行转换,对于比如:i j k等字符只是排序就够了。
<pre name="code" class="cpp">#include<iostream>#include<string>using namespace std;void str_sort(string& s)//奇数小标排序,偶数排序{int len=s.size();char temp;for(int i=0;i<len;i=i+2)for(int j=i+2;j<len;j+=2){if(s[i]>s[j]){temp=s[i];s[i]=s[j];s[j]=temp;}}for(int i=1;i<len;i=i+2)for(int j=i+2;j<len;j+=2){if(s[i]>s[j]){temp=s[i];s[i]=s[j];s[j]=temp;}}}void ProStr(string& s){int tmp,tran;char c;int flag;for(int i=0;i<s.size();i++){flag=0;if(isdigit(s[i])){tmp=s[i]-'0';flag=1;}else if(s[i]>='a'&&s[i]<='f'||s[i]>='A'&&s[i]<='F'){c=toupper(s[i]);tmp=c-'A'+10;flag=1;}if(flag){tran=0;int bitest=0x01;bitest=bitest<<3;for(int j=0;j<4;j++)//按位逆序,比如tmp为1010,则循环后tran为0101{if(tmp>>j&0x01)//依次根据tmp从低位到高位是否为1判断tran从高到低位是否置1tran|=bitest>>j;}if(tran>9)s[i]=tran-10+'A';elses[i]=tran+'0';}}}int main(){string s1,s2;cin>>s1>>s2;s1+=s2;str_sort(s1);ProStr(s1);cout<<s1<<endl;//system("pause");return 0;}
0 0
- 华为OJ(字符串合并处理)
- 华为oj 字符串合并处理
- 华为oj字符串合并处理
- 【华为 OJ 】 字符串合并处理
- 华为OJ:字符串合并处理
- 华为OJ中级题-字符串合并处理
- 【华为OJ】【025-字符串合并处理】
- 华为OJ——字符串合并处理
- 华为OJ——字符串合并处理
- 华为OJ 中级 字符串合并处理
- [华为OJ--C++]025-字符串合并处理
- 华为oj中级 字符串合并处理
- 华为OJ——字符串合并处理
- OJ-----字符串合并处理
- 华为OJ_2126_字符串合并处理
- 华为上机 字符串合并处理 java
- 【华为机试】字符串合并处理
- 【华为机试】字符串合并处理
- Maven常用的配置
- iOS图片缓存库基准对比
- LeetCode----Palindrome Linked List
- 1分钟搭建教学直播点播平台
- mysql MyISAM表锁
- 华为OJ(字符串合并处理)
- 前台页面传到后台的中文数据出现乱码问题
- OPenGL/3D渲染/shader
- 为什么docker还不能广泛用于生产中
- springMVC(1) 编写springMVC的HelloWorld
- 访问者——对象行为模式
- UITableView之下拉刷新上拉加载
- Hibernate中addEntity().addscala(),返回混合类型(实体bean+其他简单类型)
- UE4渲染概述