解题思路:
对于字符 “ ” 要注意特殊处理,碰到 “ ,直接继续找 ” 进行配对。
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
while(getline(cin,str))
{
int count = 0;
for(int i=0;i< str.size() ;++i)
{
if(str[i] == ' ')
{
count++;
}
else if( str[i] == '"')
{
do
{
++i;
}while(str[i] != '"');//找到匹配的“”
}
}
cout << count+1 <<endl;
for(int i=0 ; i< str.size() ;++i)//不用存储,直接输出
{
if(str[i] == '"') //“” 里面的完全输出
{
i++;
while(str[i] != '"')
{
cout<< str[i] ;
i++;
}
}
else if(str[i] != ' ')
{
cout<<str[i];
}
else if(str[i] == ' ')//换行
{
cout << endl;
}
}
}
return 0;
}