2838: 改错题AB-装置连接

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 97   Solved: 62
[ 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

lyh



代码:

#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;         //可能出错
        }                             //可能出错
    }
    /*****修改的终止行*****/
     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;
 }

扫描二维码关注公众号,回复: 163380 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_41170600/article/details/79823104