zoukankan      html  css  js  c++  java
  • 数据结构实验之栈三:后缀式求值

     

    题目描述

    对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值。

    输入

    输入一个算术表达式的后缀式字符串,以‘#’作为结束标志。

    输出

    求该后缀式所对应的算术表达式的值,并输出之。

    示例输入

    59*684/-3*+#

    示例输出

    57

    提示

    基本操作数都是一位正整数!
    View Code
     1 #include<stdio.h>
     2 int main()
     3 {
     4     int top = 0 ;
     5     int  s, n[100] ;
     6     char c ;
     7     while(scanf("%c", &c), c!='#')
     8     {
     9         if(c>='0'&&c<='9')
    10         n[++top] = c - 48 ;
    11         else
    12         {
    13             switch(c)
    14             {
    15                 case'+': s = (n[top-1])+(n[top]) ; break ;
    16                 case'-': s = (n[top-1])-(n[top]) ; break ;
    17                 case'*': s = (n[top-1])*(n[top]) ; break ;
    18                 case'/': s = (n[top-1])/(n[top]) ; break ;
    19             }
    20             top-- ;
    21             n[top] = s ;
    22         }
    23     }
    24     printf("%d\n", n[top]) ;
    25     return 0 ;
    26 }
    注意字符串是不能转换成整数的,单独一个数字字符可以转换为整数。
    例如:字符‘0’可以转换成整数 48(十进制)
    字符‘1’转换成 49
    ....
    字符‘9’转换成 57
    i++先执行 i 在 + 1

    ++i先 + 1 在执行 i
  • 相关阅读:
    游黄龙溪有感
    一个人的元宵节
    这个女人创业 实在让人佩服
    职场中人需要改变的9种想法
    元宵之思
    美资,台资,国有企业比较 经典!
    青年人创业最关注创业能力
    footer
    Running Scripts
    sql attention
  • 原文地址:https://www.cnblogs.com/yelan/p/2873689.html
Copyright © 2011-2022 走看看