百练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; }
就是一个简单的标记方法。