表示数字
表示数字
http://www.nowcoder.com/questionTerminal/637062df51674de8ba464e792d1a0ac6
字符串头尾需要特殊处理,判断是否为数字,如果为数字,在头尾各自加上'*',如果不是直接添加字符即可。
①当前字符为数字,前一个字符为字母,需要添加'*';
②当前字符为字母,前一个字符为数字,需要添加'*';
③其他情况直接添加当前字符进字符串即可。
代码如下:
#include<iostream> #include<string> using namespace std; int main(void){ string a; while(cin>>a){ int n=a.length(); char b[10000]; int j=0; if(a[0]>='0'&&a[0]<='9'){ b[j++]='*'; } b[j++]=a[0]; for(int i=1;i<n;i++){ if(((a[i-1]<'0'||a[i-1]>'9')&&(a[i]>='0'&&a[i]<='9')) || ((a[i-1]>='0'&&a[i-1]<='9')&&(a[i]<'0'||a[i]>'9'))){ b[j++]='*'; } b[j++]=a[i]; } if(a[n-1]>='0'&&a[n-1]<='9'){ b[j++]='*'; } b[j]='\0'; cout<<b<<endl; } }