#include <iostream>
#include <cstdio>
#include <string.h>
#include <algorithm> using namespace std;
const int maxn=;
char str1[maxn];
char str2[maxn];
int vis[]; int main()
{
scanf("%s %s",str1,str2);
memset(vis,,sizeof(vis));
int len1=strlen(str1),len2=strlen(str2);
for(int i=;i<len1;i++){
if('a'<=str1[i] && str1[i]<='z'){
vis[str1[i]-'a']=;
}
else if('A'<=str1[i] && str1[i]<='Z'){
vis[str1[i]-'A']=; //傻了,之前写成str1[i]-'A'+'a' ....
str1[i]=str1[i]-'A'+'a';//转化成小写,方便后续操作
}
else if(str1[i]=='_'){
vis[]=; //'_'
}
else{
vis[str1[i]-''+]=; //0~9
}
}
for(int i=;i<len2;i++){
if('a'<=str2[i] && str2[i]<='z'){
vis[str2[i]-'a']=;
}
else if('A'<=str2[i] && str2[i]<='Z'){
vis[str2[i]-'A']=;
}
else if(str2[i]=='_'){
//if里面一开始少写了个=。。。导致WA。。。
vis[]=; //'_'
}
else{
vis[str2[i]-''+]=;
}
}
//要按照在str1中的顺序输出,并且是以大写字母的形式
for(int i=;i<len1;i++){
if(str1[i]=='_'){
if(vis[]==){
printf("_");
vis[]=;//输过一次就不需要再输出了
}
}
else if('a'<=str1[i] && str1[i]<='z'){
if(vis[str1[i]-'a']==){
printf("%c",str1[i]-'a'+'A');
vis[str1[i]-'a']=;
}
}
else{
if(vis[str1[i]-''+]==){
printf("%c",str1[i]);
vis[str1[i]-''+]=;
}
}
}
return ;
}

最新文章

  1. 【Win 10应用开发】使用RichEditBox控件应注意的问题
  2. Xamarin安装和跳坑指南
  3. AJAX部分---对比js做日期的下拉选择 和 ajax做三级联动;
  4. Maven使用常见问题整理
  5. C#读写文件总结
  6. LeetCode Weekly Contest 12
  7. [上传下载] C#修改DownLoadHelper上传下载帮助类 (转载)
  8. Entity Framework - Func引起的数据库全表查询
  9. CCNA实验(1) -- 基本配置
  10. select查询原理
  11. warfare(最大生成树裸题)
  12. 【C#】面试题整理
  13. apache、nginx、iis 全球分布
  14. sublime Text 3常用Html/Css基础插件安装
  15. 安装使用pyclone进行克隆演化推断
  16. MySQL 字符串截取SUBSTRING()函数
  17. 自动生成 java 测试 mock 对象框架 DataFactory-01-入门使用教程
  18. [树上倍增+二分答案][NOIP2012]运输计划
  19. bzoj4556(sam)
  20. excel 获取当前日期

热门文章

  1. set集合综合案例
  2. FastDFS分布文件系统Java客户端使用
  3. 01-Angularjs开发环境搭建
  4. Android (争取做到)最全的底部导航栏实现方法
  5. Python高级网络编程系列之第一篇
  6. MetaMask/provider-engine-1
  7. MUST_COMPLETE
  8. OpenCV——开操作、闭操作、形态学梯度、顶帽、黑帽
  9. Android 调用手机上第三方百度地图并传值给地图
  10. day57