题目描述:
将一个字符中所有出现的数字前后加上符号“*”,其他字符保持不变
public static String MarkNum(String pInStr){
return null;
}
知识点: 字符串
输入:一个字符串
输出: 字符中所有出现的数字前后加上符号“*”,其他字符保持不变
样例输入: Jkdi234klowe90a3
样例输出: Jkdi*234*klowe*90*a*3*
代码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
getline(cin, str);
int len = str.size(),i;
for (i = 0; i < len; )
{
while ((str[i]<'0' || str[i]>'9')&&i<len)
{
cout << str[i];
i++;
}
if (i!=len)
cout << '*';
while (str[i] >= '0'&&str[i] <= '9'&&i<len)
{
cout << str[i];
i++;
}
if (i!=len||(i==len&&isdigit(str[i-1])))
cout << '*';
}
// system("pause");
cout << endl;
}
得分 | 运行时间 | 内存 | 复杂度 | 最大嵌套深度 |
90(150) | 16ms | 2032KB | 12 | 3 |