将一个字符中所有出现的数字前后加上符号“*”,其他字符保持不变
public static String MarkNum(String pInStr)
{
return null;
}
输入描述:
输入一个字符串
输出描述:
字符中所有出现的数字前后加上符号“*”,其他字符保持不变
输入例子:
Jkdi234klowe90a3
输出例子:
Jkdi*234*klowe*90*a*3*
使用容器,放“*” 再放数字,再加“*”。注意此时的i的值,应该是随着数字变化。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
string str;
while (cin>>str)
{//getline(cin, str);
vector <char> vec;
for (int i = 0; i < str.length();)
{
if (isdigit(str[i]))
{
vec.push_back('*');
while (isdigit(str[i]))
{
vec.push_back(str[i]);
i++;
}
vec.push_back('*');
}
else
{
vec.push_back(str[i]);
i++;
}
}
for (int i = 0; i < vec.size(); i++)
cout << vec[i];
cout<<endl;
}
return 0;
}