C++ 删除字符串中的数字并重新按顺序排列

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


char* Find_str(char* p)
{
    for (int i = 0; i < strlen(p); i++)
    {
        for (int j = 0; j < strlen(p); j++)
        {
            if (p[j] >= '0'&&p[j] <= '9') //如果发现字符串为数字,则进入循环
            {
                for (int k = j; k < strlen(p); k++)
                {
                    p[k] = p[k + 1]; // 讲当前位置数字的字符串覆盖为后一位,并把后面的元素值,全部向前位移一位
                    if (k == strlen(p) - 1) //如果找到末尾,则把末尾的值截断
                    {
                        p[j] = '\0';
                    }
                }
            }
        }    
    }
    return p; //返回当前的字符串
}

int main()
{
    char arr[50] = "aaaa1111bbbb1234cccc4567dddd";
    printf("即将把以下字符串中出现的数字删除!\n%s", arr);
    printf("\n%s\n", Find_str(arr));
    return 0;
}

 

posted @ 2020-03-13 19:51  神迹丶  阅读(790)  评论(0编辑  收藏  举报
网站已运行: