songhonyi0913 2022-07-30 12:41 采纳率: 100%
浏览 37
已结题

c++计算方程,求思路和题解

题目描述

表达式所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)以@表示结束。如 3*(3-1)就写为 3 3 1 - * @;在写表达式 的时候以空格隔开。

输入格式

输入一行一个字符串 s,表示表达式。

输出格式

输出一个整数,表示表达式运算后的值

样例输入1
3 3 1 - * @
样例输出 #1
6
样例输入 #2
1 1 + 2 3 * - @
样例输出 #2
4
有人可以帮忙看一下吗,蒟蒻不会了。

  • 写回答

1条回答 默认 最新

  • 浪客 2022-07-30 17:36
    关注
    供参考
    
    int main()
    {
        vector<int> input;
        int a, b, result = 0;
        char str[100];
        cin.getline(str, 100);
    
        char *s = strtok(str, " ");
        while (s != NULL && *s != '@')
        {
            if (isdigit(*s))
            {
                result = atoi(s);
                input.push_back(result);
            }
            else
            {
                b = input.back();
                input.pop_back();
                a = input.back();
                switch (*s)
                {
                case '+':
                    result = a + b;
                    break;
                case '-':
                    result = a - b;
                    break;
                case '*':
                    result = a * b;
                    break;
                case '/':
                    result = a / b;
                    break;
                }
                input.pop_back();
                input.push_back(result);
            }
    
            s = strtok(NULL, " ");
        }
        cout << result << endl;
    
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月7日
  • 已采纳回答 7月30日
  • 创建了问题 7月30日

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值