百练6247-过滤多余的空格-2015正式B题

Posted Lab of Oliver

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百练6247-过滤多余的空格-2015正式B题相关的知识,希望对你有一定的参考价值。

B:过滤多余的空格

1000ms
 
内存限制: 
65536kB
描述

一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。

输入
一行,一个字符串(长度不超过200),句子的头和尾都没有空格。
输出
过滤之后的句子。
样例输入
Hello      world.This is    c language.
样例输出
Hello world.This is c language.

#include <iostream>
#include <stdio.h>
#include <string>
#include <ctype.h>

using namespace std;

int main()  {
    char ju[201];
    int judge[201];
    gets(ju);
    string sen = ju;
    int l = sen.size();

    for(int i = 0; i < l; i++)  {
        if(sen[i] ==   && judge[i-1] == 0)  {
            judge[i] = 1;
        }
        else if(sen[i] ==   && judge[i-1] != 0)   {
            judge[i] = judge[i-1] + 1;
        }
        else{
            judge[i] = 0;
        }
    }

    for(int i = 0; i < l; i++)  {
        if(judge[i] == 0 || judge[i] == 1)  {
            cout << sen[i];
        }
    }

    return 0;

}

 

就是一个简单的标记方法。

以上是关于百练6247-过滤多余的空格-2015正式B题的主要内容,如果未能解决你的问题,请参考以下文章

百练1678-整数的个数-2015正式A题

百练-16年9月推免-B题-字符串判等

百练8216-分段函数-2016正式A题

百练1041-反反复复-2016正式C题

百练-16年9月推免-C题-图像旋转

AC日记——过滤多余的空格 1.7 23