#include <iostream>
#include<iomanip>
using namespace std;

int main() {
    string s;cin>>s;
    int len = s.length();
    for(int i = 0;i<len;i++){
        if(s[i]>='0'&&s[i]<='9'){
            cout<<"*"<<s[i];
            int j = i;
            while(s[j]>='0'&&s[j]<='9'&&j<len){
                j++;
                if(s[j]>='0'&&s[j]<='9'){
                    cout<<s[j];
                }
                
            }
            i = j-1;
            cout<<"*";
        }
        else{
            cout<<s[i];
        }
    }
    return 0;
}

正序遍历字符串即可,遇到数字使用双指针,然后输出即可

活动地址https://www.nowcoder.com/discuss/726480854079250432