百练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;

}

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

原文地址:https://www.cnblogs.com/QingHuan/p/7008233.html