题解 | #字符串排序#

字符串排序

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

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

int main() 
{
    char str[1000] = "";
    gets(str);
    int len = strlen(str);
    int ch[1000] = {0};
    int k = 0;
    //把A-Z 依次存到ch
    for(int i = 0 ;i < 26;i++)//每趟收集一个字符到ch数组(A-Z)
    {
        for(int j = 0;j < len;j++)
        {
            if(toupper(str[j]) == 'A'+i) 
            {
                ch[k++] = str[j];
            }
        }
    }
    //遍历,改变原数组顺序,打印输出
    k = 0;
    for(int i = 0;i < len;i++)
    {
        if(isalpha(str[i]))
            str[i] = ch[k++];
    }
    printf("%s\n",str);
    return 0;
}


#华为机试题#
全部评论

相关推荐

牛客963010790号:为什么还要收藏
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-20 19:57
已编辑
某大厂 golang工程师 23.0k*16.0, 2k房补,年终大概率能拿到
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务