if('0'<=string1[i1]&&string1[i1]<='9'&&'0'<=string1[i1+1]&&st
ring1[i1+1]<='9')
{ printf("ERROR:表达式缺操作符!\n");return(WRONG);}
for(i1=0;i1<=m;i1++)
if(string1[i1]=='+'&&(string1[i1+1]=='+'||
string1[i1+1]=='-'||string1[i1+1]=='*'||string1[i1+1]=='/'))
{ printf("ERROR:表达式缺操作数!\n");return(WRONG);}
else
if(string1[i1]=='-'&&(string1[i1+1]=='+'||
string1[i1+1]=='-'||string1[i1+1]=='*'||string1[i1+1]=='/'))
{ printf("ERROR: 表 达 式 缺 操 作 数 ! \
n");return(WRONG);}
else
if(string1[i1]=='*'&&(string1[i1+1]=='+'||
string1[i1+1]=='-'||string1[i1+1]=='*'||string1[i1+1]=='/'))
{printf("ERROR: 表 达 式 缺 操 作 数 ! \
n");return(WRONG);}
else
if(string1[i1]=='/'&&(string1[i1+1]=='+'||
string1[i1+1]=='-'||string1[i1+1]=='*'||string1[i1+1]=='/'))
{printf("ERROR: 表 达 式 缺 操 作 数 ! \
n");return(WRONG);}
return(RIGHT);
}
(3)、将中缀表达式转换为后缀表达式
struct node *assort(struct node *s)//输入字符串
{
struct node *p,*top;
int i;
top=s;
int m;
char a;
m=strlen(string1);
for(i=0;i<=m;i++)
{
a=string1[i];
if('0'<=string1[i]&&string1[i]<='9')
{
string2[j]=string1[i];j++;
3
评论3
最新资源