字符串合并处理
来源:互联网 发布:edm邮件营销软件 编辑:程序博客网 时间:2024/05/22 23:54
#include<bits/stdc++.h>using namespace std;char change(char c){ int flag=0; if(c<='9'&&c>='0') { c=c-'0'; flag=1; } else if(c<='f'&&c>='a') { c=c-'a'+10; flag=1; } else if(c<='F'&&c>='A') { c=c-'A'+10; flag=1; } if(flag==1) { int temp=c; int sum=0,k=8; while(temp) { sum+=(temp%2)*k; k/=2; temp/=2; } if(sum>=10)c=(sum-10)+'A'; else c=sum+'0'; } return c;}void ProcessString(char* str1,char *str2,char * strOutput){ char u[10000],a1[10000],a2[10000]; sprintf(u,"%s%s",str1,str2); int num1=0,num2=0; for(int i=0; u[i]!='\0'; i++) { if(i%2==0) { a1[num1++]=u[i]; } else { a2[num2++]=u[i]; } } sort(a1,a1+num1); sort(a2,a2+num2); for(int i=0; i<num1; i++) a1[i]=change(a1[i]); for(int i=0; i<num2; i++) a2[i]=change(a2[i]); int n=0; for(n=0; n<num1+num2; n++) { if(n%2==0)strOutput[n]=a1[n/2]; else strOutput[n]=a2[n/2]; } strOutput[n]='\0';}int main(){ char str1[10000],str2[10000],strOutput[10000]; while(scanf("%s%s",str1,str2)!=EOF) { ProcessString(str1,str2,strOutput); printf("%s\n",strOutput); } return 0;}
阅读全文
0 0
- 字符串合并处理
- 字符串合并处理
- 字符串合并处理
- 字符串合并并处理
- 字符串合并处理 (中级)
- 字符串合并处理
- OJ-----字符串合并处理
- 字符串合并处理
- 字符串合并处理
- 字符串合并处理
- 字符串合并处理
- 各种字符串合并处理示例.
- 华为OJ_2126_字符串合并处理
- 华为oj 字符串合并处理
- 华为oj字符串合并处理
- 【华为 OJ 】 字符串合并处理
- [编程题]字符串合并处理
- 华为OJ:字符串合并处理
- Java版本不一致
- 前端小白的学习历程
- CLion载入ROS项目
- [PAT-乙级]1070.结绳
- c#tcp服务器代码实例
- 字符串合并处理
- 通过maven对项目进行拆分、聚合
- Linux中的5种I/O模型详解
- c++入门(文件操作)
- 银行密码输入
- c#tcp多线程服务器实例代码
- caffe层解读系列——slice和concat实现MultiTask
- 软件工程作业
- hibernate问题几则