题解 | #字符串排序#

字符串排序

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

/*******************
*合理利用循环遍历(存在已知要求)+character[index++]
********************/
#include <stdio.h>
#include <string.h>

int main() {
    char input[1001] = {0};
    char character[1001] = {0};
    int index = 0;

    while( fgets(input,1001,stdin) != NULL )
    {
        //双重循环遍历26个字母,通过index指针完成字符串记录循环
        for( char j = 'A'; j<='Z'; j++ )
        {
            for( int i = 0; i<strlen(input); i++ )
            {
                if(input[i] == j || ( (input[i] - 32 == j) && input[i] >= 'a' 
                   && input[i] <= 'z' ))
                {
                    character[index++] = input[i];
                }
            }
        }
        //循环遍历输入数组,判断其中是字母的进行替换,不是进行保留(单循环+index指针)
        index = 0;
        for( int i = 0; i<strlen(input); i++ )
        {
            if( (input[i] >= 'a' && input[i] <= 'z') 
              || (input[i] >= 'A' && input[i] <= 'Z' ))
            {
                input[i] = character[index++];
            }
            printf( "%c", input[i] );
        }
    }

    return 0;
}

全部评论

相关推荐

EEbond:给北邮✌️跪了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务