我想从包含数学运算的字符串中提取操作数和运算符,并将其放入数组“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++;
}
答案 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<<" ";
}