将一句英文拆分成一个个单词
例如:
将这句话
I like play computer games
变成
I
like
play
computer
games
在进行一句话拆分时,可以用两个整形变量,例如i,j进行处理。先用i遍历整个字符串,来判断每一个字符,若为空格则进行过滤,而若是合法的英文字符时,则让 j 等于 i ,然后对 j 向后再进行遍历,直到遇见下一个空格,则成功拆分一个单词。然后令 i 等于 j ,再向后进行遍历即可。
代码如下:
#include <iostream>
using namespace std;
bool test(char c)
{
if(c >= 'a' && c <= 'z') return true;
if(c >= 'A' && c <= 'Z') return true;
return false;
}
int main()
{
string s;
int j;
getline(cin, s);
for(int i = 0; i < s.size(); i++)
{
string w;
if(test(s[i]))
j = i;
while(j < s.size() && test(s[j]))
w += s[j++];
cout << w << endl;
i = j;
}
return 0;
}