总时间限制: 1000ms 内存限制: 65536kB
描述
一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。
输入
一行,一个字符串(长度不超过200),句子的头和尾都没有空格。
输出
过滤之后的句子。
样例输入
Hello world.This is c language.
样例输出
Hello world.This is c language.
答案
方法一
c
#include <stdio.h>
int main() {
int switch_ = 0;
static char str[201], str_[201], *p = str, *q = str_;
gets(str);
for(p = str; *p != 0; p++) {
if(*p == ' ' && switch_ == 0) {
switch_ = 1;
*(q++) = *p;
} else if(*p != ' ') {
switch_ = 0;
*(q++) = *p;
}
}
puts(str_);
}
方法二
c
#include <stdio.h>
int main() {
int switch_ = 0;
static char str[201], *p = str, *q = str;
gets(str);
for(p = str; *p != 0; p++) {
if(*p == ' ' && switch_ == 0) {
switch_ = 1;
*(q++) = *p;
} else if(*p != ' ') {
switch_ = 0;
*(q++) = *p;
}
}
puts(str_);
}
方法二
c
#include <stdio.h>
int main() {
int switch_ = 0;
static char str[201], *p = str, *q = str;
gets(str);
for(int i = 0; i < 201; i++, p++) {
if(*p == ' ' && switch_ == 0) {
switch_ = 1;
*(q++) = *p;
} else if(*p != ' ') {
switch_ = 0;
*(q++) = *p;
}
}
puts(str);
}