表示数字

表示数字

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;
    }
} 
全部评论

相关推荐

投递字节跳动等公司10个岗位
点赞 评论 收藏
转发
1 收藏 评论
分享
牛客网
牛客企业服务