题解 | #表示数字#
表示数字
http://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6
#include <iostream>
#include <string.h>
#include <string>
using namespace std;
int main()
{
string a;
while(getline(cin,a))
{
string b=a;
for(int i=0;i<a.length();i++)
{
b[i]='0';
}
for(int i=0;i<a.length();i++)
{
if(i==0&&(a[i]>='0'&&a[i]<='9'))
{
a='*'+a;
b=' '+b;
i++;
}
if(i==a.length()-1&&(a[i]>='0'&&a[i]<='9'))
{
a=a+'*';
b=b+'1';
}
if((a[i]>='0'&&a[i]<='9')&&(a[i-1]<'0'||a[i-1]>'9')&&b[i-1]=='0')
{
a=a.substr(0,i)+'*'+a.substr(i,a.length()-i);
b=b.substr(0,i)+'1'+b.substr(i,b.length()-i);
}
if((a[i]>='0'&&a[i]<='9')&&(a[i+1]<'0'||a[i+1]>'9')&&b[i+1]=='0')
{
a=a.substr(0,i+1)+'*'+a.substr(i+1,a.length()-i-1);
b=b.substr(0,i+1)+'1'+b.substr(i+1,b.length()-i-1);
}
}
cout<<a;
}
return(0);
}
#include <string.h>
#include <string>
using namespace std;
int main()
{
string a;
while(getline(cin,a))
{
string b=a;
for(int i=0;i<a.length();i++)
{
b[i]='0';
}
for(int i=0;i<a.length();i++)
{
if(i==0&&(a[i]>='0'&&a[i]<='9'))
{
a='*'+a;
b=' '+b;
i++;
}
if(i==a.length()-1&&(a[i]>='0'&&a[i]<='9'))
{
a=a+'*';
b=b+'1';
}
if((a[i]>='0'&&a[i]<='9')&&(a[i-1]<'0'||a[i-1]>'9')&&b[i-1]=='0')
{
a=a.substr(0,i)+'*'+a.substr(i,a.length()-i);
b=b.substr(0,i)+'1'+b.substr(i,b.length()-i);
}
if((a[i]>='0'&&a[i]<='9')&&(a[i+1]<'0'||a[i+1]>'9')&&b[i+1]=='0')
{
a=a.substr(0,i+1)+'*'+a.substr(i+1,a.length()-i-1);
b=b.substr(0,i+1)+'1'+b.substr(i+1,b.length()-i-1);
}
}
cout<<a;
}
return(0);
}