题解 | #字符串排序#

字符串排序

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

#include <stdio.h>
int main()
{
    char arr1[1000]="";
    char arr2[1000]="";//备份arr1
    gets(arr1);
    int sz=strlen(arr1);
    int i=0;
    int j=0;
    int num=0;
    for(i=0;i<sz;i++)
    {
        arr2[i]=arr1[i];
    }
    while(num<26)//26个字母逐一判断
    {
    for(i=0;i<sz;i++)
    {
        if((arr1[i] == ('a'+num)) || (arr1[i] == ('A'+num)))//26轮,一轮查询一个
        {
            while(1)//在arr2里面找字母的位置,找到就替换,其余符号没变
            {
            if(((arr2[j] >= 'A') && (arr2[j] <= 'Z')) || ((arr2[j] >= 'a') && (arr2[j] <= 'z')))
            {
                arr2[j]=arr1[i];
                j++;//下一轮方便直接替换
                break;//替换完成,arr1中找下一个字母
            }
            j++;//非字母的位置不动,判断下一个位置
            }
        }
    }
    num++;
    }
    printf("%s\n",arr2);
    return 0;
}

全部评论

相关推荐

牛至超人:您好,京东物流岗了解一下吗?负责精加工食品的端到端传输
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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