危险区域吧 关注:5贴子:366
  • 0回复贴,共1

【c语言】求后缀表达式的值

只看楼主收藏回复

#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
using namespace std;
int stack[101];
char s[256];
int comp(char s[256])
{
int i=0,top=0,x,y;
while(i<=strlen(s)-2)
{
switch(s[i])
{
case'+':stack[--top]+=stack[top+1];break;
case'-':stack[--top]-=stack[top+1];break;
case'*':stack[--top]*=stack[top+1];break;
case'/':stack[--top]/=stack[top+1];break;
default:x=0;
while(s[i]!=' ')x=x*10+s[i++]-'0';
stack[++top]=x;break;
}
i++;
}
return stack[top];
}
int main()
{
printf("input a string(@_over):\n");
gets(s);
printf("result=%d",comp(s));
printf("\n");
system("pause");
return 0;
}


1楼2013-12-03 19:41回复