c/c++语言开发共享后序式运算代码实例

c代码(理论可参考中序式转后序) #define _crt_secure_no_warnings #include #include void jisuan(char *); flo


c代码(理论可参考中序式转后序)

  #define _crt_secure_no_warnings  #include  #include    void jisuan(char *);  float cal(float, float, char);  void main()  {      char input[80];      printf("中序式:");      scanf("%s", input);      jisuan(input);      system("pause");  }    void jisuan(char *arr)  {      float stack[80] = { 0.0 };      int top = 0;      int i = 0;      char op;      char temp[2];      while (1)      {          op = arr[i];          switch (op)          {          case '':              printf("%fn", stack[top]);              return;          case '+':          case '-':          case '*':          case '/':                stack[top - 1] = cal(stack[top],stack[top - 1],op);              top--;              break;          default:              if (top < sizeof(stack) / sizeof(float))              {                  temp[0] = op;                  top++;                  stack[top] = atof(temp);  //字符转float              }              break;          }          i++;      }  }    float cal(float a, float b, char op)  {      if (op == '+')      {          return a + b;      }      if (op == '-')      {          return a - b;      }      if (op == '*')      {          return a*b;      }      if (op == '/')      {          return a / b;      }  }

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/608021.html

(0)
上一篇 2021年5月14日
下一篇 2021年5月14日

精彩推荐