从字符串中提取字符串

时间:2015-05-14 17:14:03

标签: c string

我想从包含数学运算的字符串中提取操作数和运算符,并将其放入数组“op”

char ch[20]="25+66*888/58=";
int i=0,j=0,k=0;
char op[10][5];

while((ch[i]!='='))
{  
   j=0;
   while((ch[i]!='+') &&
         (ch[i]!='-') &&
         (ch[i]!='*') &&
         (ch[i]!='/') &&      
         (ch[i]!='=')))
   {
      op[k][j]=ch[i];
      j++;
      i++;
   }
   k++;
   op[k][0]=ch[i];
   k++;

   if (j==0) 
      i++;
}

1 个答案:

答案 0 :(得分:0)

此代码ectract操作和操作数

char ch[20]="25+66*888/58=";
    char operands[10][5], operators[10];
    int j=0, i=0, k=0, l=0;

     while(ch[i])
     {
        if((ch[i]!='+')&&(ch[i]!='-')&&(ch[i]!='*')&&(ch[i]!='/')&&(ch[i]!='='))
        {
            operands[k][j]=ch[i];
            j++;
        }
        else
        {
            operators[l]=ch[i];
            l++;
            k++;
            j=0;
        }
        i++;
     }

     for(i=0;i<l;i++) cout<< operators[i];
     cout<<endl;

     for(int i=0;i<k;i++)
     {
        for(int j=0;operands[i][j];j++)
        {
            cout<<operands[i][j];
         }
         cout<<" ";
     }