字符串移动,字符串为*号和26个字母的任意组合,把*都移动到最左侧,字母移动到右侧,顺序不变

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

#define   MAX     256

void  move_stars(char* str) {
    int len = strlen(str) - 1;
    char* p = str + len;
    char* q = p;
    for (;len >= 0; --len, --q) {
        if (isalpha(*q)) {
            *p-- = *q;
        }
    }
    ++p;
    while (str != p) {
        *str++ = *;
    }
}

int  main(void) {
    char  str[MAX];
    fgets(str, MAX, stdin);
    str[strlen(str)-1] = \0;
    move_stars(str);
    fprintf(stderr, "%s\n", str);
    system("pause");
    return  0;
}

 

字符串移动,字符串为*号和26个字母的任意组合,把*都移动到最左侧,字母移动到右侧,顺序不变,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。