牛客练习赛67 A 牛牛爱字符串

牛牛爱字符串

https://ac.nowcoder.com/acm/contest/6885/A

牛客练习赛67 A 牛牛爱字符串

题目链接:https://ac.nowcoder.com/acm/contest/6885/A

从字符串中提取数字,并去除先导0,需要注意这里不能用while(cin>>str),因为会跳过输入字符串中的空格。

单独被分隔一个0,也需要输出,连续多个0的组合则输出最后一个0。

#include<iostream>
#include<cstring>
using namespace std;
int main(){
    string str;
    int flag;
    while(getline(cin,str)){
        flag = 0;
        for(size_t i = 0; i < str.size(); i++){
            // 为数字
            if(str[i] >= '0' && str[i] <= '9'){
                // 为0,且不为最后一位,前面也没有非0数字
                if(str[i] == '0' && flag !=2 && i != str.size() - 1 ){
                    // 先导0
                    flag = 1;
                }else{
                    // 数字
                    flag = 2;
                    cout<<str[i];
                }
            }else{
                // 全0
                if(flag == 1)cout<<0;
                // 数字后的第一个字符,输出空格
                if(flag != 0)cout<<" ";
                // 恢复状态
                flag = 0;
            }
        }
        // 换行
        cout<<endl;
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 11:33
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-04 15:36
点赞 评论 收藏
分享
陈逸轩1205:才105 哥们在养生呢
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 13:05
TMD找工作本来就烦,这东西什么素质啊😡
Beeee0927:hr是超雄了,不过也是有道理的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务