题解 | #字符串排序#

字符串排序

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

非字母的字符串排序后还是在原来的位置,所以先把字母全部提取出来排序,然后非字母的直接打印,
字母按新排序的打印。
#include"stdio.h"
#include"string.h"

char str[1001] = { 0 };
char tmp_str[1000] = { 0 };

int main(void) {
    int len, i, j, t=0, n, num = 0;
    fgets(str, sizeof(str), stdin);
    len = strlen(str);
    while (str[len - 1] == '\n' || str[len - 1] == '\r') {
        len--;
    }

    for(i='A';i<='Z';i++){
        for(j=0;j<len;j++){
            if(str[j] == i || str[j] == i + ('a'-'A')){
                tmp_str[t]=str[j];
//                printf("%c",str[j]);
                t++;
            }
        }
    }
    t=0;
//    printf("%c",'\n');
    for(i=0;i<len;i++){
        if(!((str[i] >= 'A' && str[i] <= 'Z') || (str[i] >= 'a' && str[i] <= 'z'))){
            printf("%c",str[i]); //不是字母直接打印
        }else{
            printf("%c",tmp_str[t]);  //字母按排序后的顺序替换。
            t++;
        }
    }
    return 0;
}


全部评论

相关推荐

不愿透露姓名的神秘牛友
11-27 10:52
点赞 评论 收藏
分享
躺尸修仙中:因为很多92的也去卷中小厂,反正投递简历不要钱,面试不要钱,时间冲突就推,不冲突就面试积累经验
点赞 评论 收藏
分享
整顿职场的柯基很威猛:这种不可怕,最可怕的是夹在一帮名校里的二本选手,人家才是最稳的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务