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

字符串合并处理

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

#include #include #include using namespace std; int f(int n) { int m=0,w=3; while(n) { m=m+n%2*pow(2,w); n=n/2; w--; } return(m); } char g(int n) { char u; if(n<=9&&n>=0) { u=n+'0'; } else if(n>=10&&n<=16) { u=n-10+'A'; } return(u); } int main() { string a,b; while(cin>>a>>b) { a=a+b; for(int i=0;i<a.length()-2;i+=2) { for(int j=i+2;j<a.length();j+=2) { if(a[i]>a[j]) { char c=a[i]; a[i]=a[j]; a[j]=c; } } } for(int i=1;i<a.length()-2;i+=2) { for(int j=i+2;j<a.length();j+=2) { if(a[i]>a[j]) { char c=a[i]; a[i]=a[j]; a[j]=c; } } } for(int i=0;i<a.length();i++) { if(a[i]>='0'&&a[i]<='9') { int c=a[i]-'0'; a[i]=g(f(c));

        }
        else if(a[i]>='a'&&a[i]<='f')
        {
            int c=a[i]-'a'+10;
            a[i]=g(f(c));
        }
        else if(a[i]>='A'&&a[i]<='F')
        {
            int c=a[i]-'A'+10;
           a[i]=g(f(c));
        }
    }
    cout<<a;
}
return(0);

}

全部评论

相关推荐

04-28 10:14
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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