描述 | |
---|---|
知识点 | 字符串 |
运行时间限制 | 10M |
内存限制 | 128 |
输入 | 输入一行字符串,可以有空格 |
输出 | 输出参数个数,分解后的参数,每个参数都独占一行 |
样例输入 | xcopy /s c:\\ d:\\ |
样例输出 | 4 xcopy /s c:\\ d:\\ |
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s,out;
getline(cin,s);
int index,cnt=0;
for(int i=0;i<s.size();i++)
{
if(s[i]==char(34))
{
index=s.find_first_of(char(34),i+1);//如果是双引号,找到下一个双引号,将两个双引号之间的
for(int j=i+1;j<index;j++)<span style="white-space:pre"> </span>//字符保存在out中,计数加一,index为下一个双引号位置
out+=s[j];
out+="\n";
cnt++;
i=index+1;
}
else if(s[i]==' ')<span style="white-space:pre"> </span>//如果是空格,加入回车,计数加一
{
out+="\n";
cnt++;
}
else
out+=s[i];
}
if(s[s.size()-1]!=char(34))//如果以双引号结尾,cnt即为参数数目,但相反的情况需要cnt+1
cnt++;
cout<<cnt<<endl;
cout<<out<<endl;
//system("pause");
return 0;
}