题解 | #表示数字#

表示数字

http://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6


#include "stdio.h"
#include "string.h"
int main()
{
    char buf[100];
    while(fgets(buf, 100, stdin))
    {
        char out[200]={'\0'};
        int len = strlen(buf),count=0;
        for(int i=0;i<len;i++)
        {
            if(buf[i]>='0' && buf[i]<='9') //当前为数字
            {
                if(i>=1 && buf[i-1]>='0' && buf[i-1]<='9') //前一个也为数字
                {
                    out[count++] = buf[i];
                }
                else //前一个不是数字
                {
                    out[count++] = '*';
                    out[count++] = buf[i];
                }
            }
            else if(buf[i]>='9' || buf[i]<='0') //当前不是数字
            {
                if(i>=1 && buf[i-1]>='0' && buf[i-1]<='9') //前一个是数字
                {
                    out[count++] = '*';
                    out[count++] = buf[i];
                }
                else
                {
                    out[count++] = buf[i];
                }
            }
        }
        printf("%s",out);
    }
    return 0;
}

这题挺简单的

全部评论

相关推荐

11-24 19:04
已编辑
湖南工商大学 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-29 12:19
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务