分离表达式中的数字和运算符

来源:互联网 发布:中山大学远程网络教育 编辑:程序博客网 时间:2024/05/18 00:56
#include<iostream>using namespace std;void sort(char b[],int n[],char fh[],int &m){int k,j;for(int i=0;i<strlen(b);i++){if(b[i]=='+'||b[i]=='-'||b[i]=='*'||b[i]=='/'||b[i]==')'){k=1;j=i-1;while(1){if(isdigit(b[j])){n[m]+=(b[j]-'0')*k;k*=10;j--;}else if(!isdigit(b[j])||j<0)break;}m++;fh[m]=b[i];m++;}else if(b[i]=='('){fh[m]=b[i];m++;}else if(i==strlen(b)-1){k=1;j=i;while(1){if(isdigit(b[j])){n[m]+=(b[j]-'0')*k;k*=10;j--;}else if(!isdigit(b[j])||j<0)break;}m++;}}}void main(){char b[100];char fh[50]={0};int n[50]={0},m=0,i;cout<<"Please Input an expression"<<endl;cin>>b;sort(b,n,fh,m);for(i=0;i<m;i++){if(fh[i]!=0)cout<<fh[i]<<" ";}cout<<endl;for(i=0;i<m;i++){if(n[i]!=0)cout<<n[i]<<" ";}cout<<endl;}

0 0
原创粉丝点击