字符中所有出现的数字前后加上符号“*”,其他字符保持不变

#include <iostream>

using namespace std;

int main()
{
    string str;
    while (getline(cin, str))//注意字符串输入方式
      {

        for (int i = 0; i < str.size(); ++i)
         {
            if (str[i] >= '0' && str[i] <= '9' && (i == 0 || str[i - 1] < '0' || str[i - 1] > '9'))
            {
             str = str.substr(0,i) + '*' + str.substr(i);
             i++;
            }
            if (str[i] >= '0' && str[i] <= '9' && (i == str.size() || str[i+1] < '0' || str[i + 1] > '9'))
            {
            str = str.substr(0,i+1) + '*' + str.substr(i+1);
            i++;
            }

        }
           cout << str << endl;
      }
    return 0;
}
全部评论

相关推荐

03-21 08:46
已编辑
门头沟学院 C++
一个什么都不会的学生:当你有硕士学历的时候HR会说就是比本科生强
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务