将"3-4.5/6*7"之类的式子字符提取出数字

来源:互联网 发布:92式重机枪 知乎 编辑:程序博客网 时间:2024/06/06 03:18

3-4.5/6*7


#include<iostream>

#include<string>

#include<cctype>

#include<vector>

#include<iterator>

#include<sstream>

using namespace std;

int main()

{

string input;

cout<<"input the string :"<<endl;

cin>>input;



string temp;

vector<string>strvec;

int flag=-1;

for(int i=0;i<input.size();i++)

{

  if(input[i]=='+'||input[i]=='-'||input[i]=='*'||input[i]=='/'||input[i]=='%')

  flag*=-1;

  else

  temp+=input[i];

  if(flag>0)

  {

  strvec.push_back(temp);


  temp="";

  flag=-1;

  }

}

strvec.push_back(temp);

double *p=new double[strvec.size()];

for(int i=0;i<strvec.size();i++)

{


  string temp=strvec[i];

  istringstream instr(temp);

  instr>>p[i];

}

for(int i=0;i<strvec.size();i++)

cout<<p[i]<<endl;


return 0;

}


原创粉丝点击