问题标题: 酷町堂:4946 计算问号的值

0
0
已解决
黄昊轩
黄昊轩
中级守护
中级守护

题目描述 Description

小明在学校才开始学习加减法运算,小明的老师为了帮助他复习加强运算,给他出了很多的计算式,比如:1+2=?,小明需要计算出问号处应该填什么数字?
比如:
?+1=3,问号处需要填2;
30+?=50,问号处需要填20;
5+6=?,问号处需要填11;

 

这是阶段考试的题,已经考过了,我要订正一下

 

思路so easy,就是不知道怎么实现1

黄昊轩在2020-03-26 19:18:52追加了内容

输入描述 Input Description

输入一行计算式,计算式之间没有空格(由于小明才学计算,老师只会出10000以内的加减法)

输出描述 Output Description

输出一个数组,表示计算出计算式中的?处应该填什么

样例输入 Sample Input

2+?=100

样例输出 Sample Output

98


1
已采纳
施巧稚
施巧稚
初级守护
初级守护

同意上面的观点,可以给你一点核心代码:if(s[w]=='+')
            {
                cout<<a[2]-a[1]<<"\n";
                return 0;
             }
        if(f>w&&s[w]=='-')
        {
            cout<<a[1]-a[2]<<"\n";
            return 0;
             }
        else
        {
            cout<<a[1]+a[2]<<"\n";
            return 0;
        }   

具体判断的过程,剩下的自己写(因为不能发整段代码,或者你把你的答案发出来也行)

施巧稚在2020-04-05 09:54:30追加了内容

我发不了整段代码啊,会被举报o(╥﹏╥)o

1
沈峻宇
沈峻宇
资深天翼
资深天翼

额,有没有输出例范和输入例范?这样我可以解决你的问题哦~

沈峻宇在2020-03-26 07:41:33追加了内容

还有错误代码

1
龙舟
龙舟
高级光能
高级光能

输入输出发一下吧,不然不知道怎么算,或者把题目截个图

1
张睿杰
张睿杰
高级守护
高级守护

首先这道题说了要填数字,然而x+或-y=z只有三个位置要填数字,这是母庸置疑的

我们先考虑符号,是加号还是减号,分情况讨论

这道题如果是字符串的话,一个一个记录,遇到符号(+,-,?)终止

记录两次,可以得到除了?以外的两个数

下面来说说三个位置的填数如何实现:

(1)在第一个位置,由于是按顺序遍历的,所以拿最后一个(+或-),第二个数

(2)在第二个位置,由于是按顺序遍历的,所以拿最后一个(+或-),第一个数

(3)在第三个位置,由于是按顺序遍历的,所以拿第一个数(+或-),第二个数

我要回答