#include<stdio.h>
#include<string.h>
/**第一步 设置tagFl=1,如果遇到空格则替换成换行符,并计数并跳过循环。否则将值赋值给新数组
* 第二步 如果遇到"则置tagFl=0遇到空格则不替换成换行符。
* 第三步 只到遇到下一个"则置tagFl=1.循环第一步
*/
int main(int argc, char const *argv[])
{
char strs[100] = { 0 };
char pStr[100] = { 0 };
memset(strs, 0x00, strlen(strs));
while (gets(strs))
{
//初始化
int tagFl = 1;
int count = 1;//记录命令数,根据不在引号里的空格数
memset(pStr, 0x00, strlen(pStr));
int x = strlen(strs);
for (int i = 0; i < x; i++)
{
if (strs[i] == '"' && tagFl == 1 )
{
tagFl = 0;
continue;
}
if (strs[i] == '"' && tagFl == 0)
{
tagFl = 1;
continue;
}
if (tagFl)
{
if (strs[i] == ' ')
{
strcat(pStr, "\n");
count++;
continue;
}
strncat(pStr, strs+i, 1);
}
else
{
strncat(pStr, strs+i, 1);
}
}
printf("%d\n", count);
printf("%s", pStr);
}
return 0;
}