OJ系统新功能测试中,如有问题请联系 17865569030 17865569180 17865571035 尽量不要在上课时间打电话

Problem 2838. -- 改错题AB-装置连接

2838: 改错题AB-装置连接

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 99  Solved: 64
[Submit][Status][Web Board]

Description

注:本题只需要提交标记为修改部分之间的代码,请按照C++方式提交。

有ABCD四种装置,将一个数输入一种装置后,会输出另一个数,
     装置A:将输入的数加上5:
     装置B:将输入的数除以2;
     装置C:将输入的数减去4;
     装置D:将输入的数乘3,
 这些装置可以连接,如装置A后面连接B,就写成AB。
 给出一种装置的连接序列,当输入m时,输出的结果是多少?

#include <iostream>
using namespace std;
int equipment(char connstr[],int value)
{
    char ch;
    int i=0;
    /*****修改的起始行******/
    while((ch=connstr[i])!='\0')         //可能出错
    {
        switch(ch)
        {
        case 'A':
            value+=5;        //可能出错
        case 'B':
            value/=2;         //可能出错         
        case 'C':
            value-=4;         //可能出错
        case 'D':
            value*=3;         //可能出错
        }                             //可能出错
    }
    /*****修改的终止行*****/
    return value;
}


int main()
{
    char connstr[100];
    int result,value;
    cin>>value;
    cin.getline(connstr,100);
    while(cin.getline(connstr,100))
    {
        result = equipment(connstr,value);
        cout<<result<<endl;
    }
    return 0;
}

Input

第一行m
第二行开始,每行对应一种装置的连接序列

Output

每种连接序列的输出结果,每个结果占一行

Sample Input

10
ABCD
DCBA
AABBCCDD
DDCCBBAA

Sample Output

9
18
-27
30

HINT

Source

[Submit][Status][Web Board]