输入一个字符串,字符串中可能包含多个连续的空格,请将多余的空格去掉,只留下一个空格。
输入格式
共一行,包含一个字符串。
输出格式
输出去掉多余空格后的字符串,占一行。
数据范围
输入字符串的长度不超过 200。
//简便做法:利用cin不接受空格,Tab,回车
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
while(cin>>s) cout<<s<<" ";
return 0;
}
//法二手动过滤空格
#include<iostream>
#include<string>
int flag;
using namespace std;
int main()
{
string s;
getline(cin,s);
for(int i=0;i<s.size();i++)
{
if(s[i]!=' ')
{
cout<<s[i];
flag=0;
}
else if(s[i]==' ') flag++;
if(flag==1) cout<<' ';
else continue;
}
return 0;
}
//法三 双指针算法
#include<iostream>
using namespace std;
int main()
{
string s;
getline(cin,s);
string r;
for(int i=0;i<s.size();i++)
if(s[i]!=' ') r+=s[i];
else
{
r+=' ';
/*核心*/
int j=i;
while(j<s.size()&&s[j]==' ') j++;
i=j-1;
}
cout<<r<<endl;
return 0;
}