zoukankan      html  css  js  c++  java
  • 1084. Broken Keyboard (20)-水题

    #include <iostream>
    #include <cstdio>
    #include <string.h>
    #include <algorithm>
    
    using namespace std;
    const int maxn=90;
    char str1[maxn];
    char str2[maxn];
    int vis[37];
    
    int main()
    {
        scanf("%s %s",str1,str2);
        memset(vis,0,sizeof(vis));
        int len1=strlen(str1),len2=strlen(str2);
        for(int i=0;i<len1;i++){
            if('a'<=str1[i] && str1[i]<='z'){
                vis[str1[i]-'a']=1;
            }
            else if('A'<=str1[i] && str1[i]<='Z'){
                vis[str1[i]-'A']=1;  //傻了,之前写成str1[i]-'A'+'a' ....
                str1[i]=str1[i]-'A'+'a';//转化成小写,方便后续操作
            }
            else if(str1[i]=='_'){
                vis[26]=1; //'_'
            }
            else{
                vis[str1[i]-'0'+27]=1; //0~9
            }
        }
        for(int i=0;i<len2;i++){
            if('a'<=str2[i] && str2[i]<='z'){
                vis[str2[i]-'a']=2;
            }
            else if('A'<=str2[i] && str2[i]<='Z'){
                vis[str2[i]-'A']=2;
            }
            else if(str2[i]=='_'){
                //if里面一开始少写了个=。。。导致WA。。。
                vis[26]=2; //'_'
            }
            else{
                vis[str2[i]-'0'+27]=2;
            }
        }
        //要按照在str1中的顺序输出,并且是以大写字母的形式
        for(int i=0;i<len1;i++){
            if(str1[i]=='_'){
                if(vis[26]==1){
                    printf("_");
                    vis[26]=0;//输过一次就不需要再输出了
                }
            }
            else if('a'<=str1[i] && str1[i]<='z'){
                if(vis[str1[i]-'a']==1){
                    printf("%c",str1[i]-'a'+'A');
                    vis[str1[i]-'a']=0;
                }
            }
            else{
                if(vis[str1[i]-'0'+27]==1){
                    printf("%c",str1[i]);
                    vis[str1[i]-'0'+27]=0;
                }
            }
        }
        return 0;
    }
    View Code
  • 相关阅读:
    用C#新建网站的方法
    zhngutils.js
    jQuery源代码学习jQuery对象构建
    前端性能书单
    预则成,不预则废
    表格
    js延时周期执行setTimeout;setInterval;clearTimeout;clearInterval
    url备份
    前端性能集合(各种测试各种资源...)
    Scrum开发模式
  • 原文地址:https://www.cnblogs.com/chenxiwenruo/p/6390113.html
Copyright © 2011-2022 走看看