题解 | #参数解析#

参数解析

http://www.nowcoder.com/practice/668603dc307e4ef4bb07bcd0615ea677

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
    string str;
    while(getline(cin,str))
    {
        vector<string>vec;
        int i=0;
        while(i<str.size())
        {
            string s;
            bool f=false;
            if(str[i]=='"')
            {
                i++;
                while(str[i]!='\0'&&str[i]!='"')
                {
                    s.push_back(str[i]);
                    f=true;
                    i++;
                }
            }
            else
            {
                while(str[i]!='\0'&&str[i]!=' ')
                {
                    s.push_back(str[i]);
                    f=true;
                    i++;
                }
            }
            i++;
            if(f){
                vec.push_back(s);
            }
        }
        cout<<vec.size()<<endl;
        for(int c=0;c<vec.size();c++)
        {
            string outstr=vec[c];
            int i=count(outstr.begin(),outstr.end(),'"');
            if(i>0)
            {
                int j=0;
                string ts;
                while(outstr[j]!='\0')
                {
                    if(outstr[j]!='"')
                    {
                        ts.push_back(outstr[j]);
                    }
                    j++;
                }
                outstr=ts;
            }
            cout<<outstr<<endl;
        }
    }
}
全部评论

相关推荐

11-28 17:48
中山大学 C++
点赞 评论 收藏
分享
蚂蚁 基架java (n+6)*16 签字费若干
点赞 评论 收藏
分享
喜欢走神的孤勇者练习时长两年半:爱华,信华,等华,黑华
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务