YTU OJ 2838: 改错题AB-装置连接

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


【AC代码】:

#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;
            break;        //可能出错
        case 'B':
            value/=2;
            break;         //可能出错
        case 'C':
            value-=4;
            break;         //可能出错
        case 'D':
            value*=3;
            break;        //可能出错
        }                             //可能出错
        i++;
    }

    /*****修改的终止行*****/
    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;
}

阅读更多
个人分类: c++ 水题 YTU OJ
上一篇YTU OJ 2819: 改错题B-阶乘和
下一篇Hadoop 伪分布式配置(一).配置jdk
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭