思路很简单,设置一个flag,每当从数字到非数字变化是就改变flag值,输出一个*就可以了!
#include<iostream>
using namespace std;
int main()
{
char inStr[50];
int len;
bool flag;
gets_s(inStr);
len = strlen(inStr);
if (len <= 0)
{
return 0;
}
flag = false;
for (int i = 0; i<len; i++)
{
if (inStr[i] >= '0'&&inStr[i] <= '9')
{
if (!flag)
{
flag = true;
cout << "*";
}
}
else
{
if (flag)
{
flag = false;
cout << "*";
}
}
cout << inStr[i];
}
if (inStr[len - 1] >= '0'&&inStr[len - 1] <= '9')
{
cout << "*";
}
return 0;
}结论:注意如果最后一个字符是数字的话,需要多输出一个*.

496

被折叠的 条评论
为什么被折叠?



