题解 | #字符串排序#

字符串排序

https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584

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

int main() {
    char str[1001]={0};
    fgets(str,1001,stdin);
    int len = strlen(str);

    char sortStr[1001]={0};
    //按照字母序提取字符
    int sortNum=0;
    for(char i='A';i<='Z';i++)
    {
        for(int j=0;j<len;j++)
        {
            if(str[j] == i || str[j]-32 == i)
            {
                sortStr[sortNum++] = str[j];
            }
        }
    }
    int j=0;
    for(int i=0;i<len;i++)
    {
        if(str[i]>='a'&& str[i]<='z' || str[i]>='A' && str[i]<='Z')
        {
            printf("%c",sortStr[j++]);
        }else{
            printf("%c",str[i]);
        }
    }

    return 0;
}

//错误答案      冒泡排序法会改变相同元素之间下标的相对关系
// int a_Acompare(char a, char b)
// {
//     if(a>='A' && a <='Z') a = a+('a'-'A');
//     if(b>='A' && b <='Z') b = b+('a'-'A');
//     if(a>b) return 1;
//     else if(a<b) return 0;
//     return 2;
// }

// int main() {
//     char str[1001]={0};
//     fgets(str,1001,stdin);
//     int len = strlen(str);
    
//     char sortStr[len];
//     char *p=str;
//     int charNum=0;
//     while(*p != '\n')
//     {
//         if(*p>='a'&& *p<='z' || *p>='A' && *p<='Z')
//             sortStr[charNum++] = *p;
//         p++;
//     }
//     char temp;
//     for(int i=0;i<charNum;i++)
//     {
//         for(int j=i+1;j<charNum;j++)
//         {
//             if(a_Acompare(sortStr[i],sortStr[j]) == 1)
//             {
//                 temp = sortStr[i];
//                 sortStr[i] = sortStr[j];
//                 sortStr[j] = temp;
//             }
//         }
//     }
//     int j=0;
//     for(int i =0;i<len;i++)
//     {
//         if(str[i]>='a'&& str[i]<='z' || str[i]>='A' && str[i]<='Z')
//         {
//             printf("%c",sortStr[j++]);
//         }else{
//             printf("%c",str[i]);
//         }
//     }
//     return 0;
// }

全部评论

相关推荐

06-04 09:27
门头沟学院 Java
点赞 评论 收藏
分享
06-12 16:23
已编辑
小米_软件开发(准入职员工)
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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