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

字符串合并处理

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


#include <stdio.h>
#include <string.h>

//读取,选择排序
//字典序列
//需要注意题目中用例会出现非A-F字母,原样输出即可
int main()
{
    char str1[101];
    char str2[101];
    char input[] = {"0123456789abcdefABCDEF"};
    char output[] = {"084C2A6E195D3B7F5D3B7F"};

    while (scanf("%s", str1) != EOF)
    {
        scanf("%s", str2);
        char str[202] = {'\0'};
        strcpy(str, str1);
        strcat(str, str2);
        int len = strlen(str);

        char temp;
        //按str[i]-'0'排序
        for (int i = 0; i < len; i += 2)
        {
            for (int j = i + 2; j < len; j += 2)
            {
                if (str[j] - '0' < str[i] - '0')
                {
                    temp = str[i];
                    str[i] = str[j];
                    str[j] = temp;
                }
            }
        }

        for (int i = 1; i < len; i += 2)
        {
            for (int j = i + 2; j < len; j += 2)
            {
                if (str[j] - '0' < str[i] - '0')
                {
                    temp = str[i];
                    str[i] = str[j];
                    str[j] = temp;
                }
            }
        }

        char outstr[202] = {'\0'};
        for (int i = 0; i < len; i++)
        {
            outstr[i]= str[i];
            for (int j = 0; j < 22; j++)
            {
                
                if (str[i] == input[j])
                    outstr[i] = output[j];
            }
        }

        printf("%s\n",outstr);

     }


    return 0;
}
全部评论
还能用自己写个字典 牛逼
点赞 回复 分享
发布于 2022-07-27 15:09
太厉害了
点赞 回复 分享
发布于 2023-02-16 17:55 江西
我还想着整个mask做按位与,左移位从最高位分别取出8位,再在另一个char那右移位按位或填进去,最后覆盖呢。
点赞 回复 分享
发布于 01-23 11:44 河北

相关推荐

手撕没做出来是不是一定挂
Chrispp3:不会,写出来也不一定过
点赞 评论 收藏
分享
喜欢走神的孤勇者练习时长两年半:爱华,信华,等华,黑华
点赞 评论 收藏
分享
贺兰星辰:不要漏个人信息,除了简历模板不太好以外你这个个人简介是不是太夸大了...
点赞 评论 收藏
分享
评论
10
1
分享
牛客网
牛客企业服务