算法1
局部性判断,加入每一段的最后一个空格
双指针
其实用string接收,+来添加字符更好,不用双指针了
C++ 代码
#include <iostream>
#include<string>
#include<cstring>
using namespace std;
int main()
{
string s;
char a[201];
getline(cin,s);
int i,j;
for(i=0,j=0;i<s.size()-1;i++){//不能出界
if(s[i]!=' ') {a[j]=s[i];j++;}
else if(s[i+1]!=' ') {a[j]=s[i];j++;}//s[i]是最后一个空格
}
if(s[i]!=' ') a[j]=s[i];//一些边界
a[++j]='\0';
cout<<a;
return 0;
}
算法2
直接cin,输出空格
C++ 代码
string s;
while (cin >> s) cout << s << ' ' ;