zoukankan      html  css  js  c++  java
  • YTU 2838: 改错题AB-装置连接

    2838: 改错题AB-装置连接

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 81  解决: 49

    题目描述

    注:本题只需要提交标记为修改部分之间的代码,请按照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])!='')         //可能出错
        {
            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;
    }

    输入

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

    输出

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

    样例输入

    10
    ABCD
    DCBA
    AABBCCDD
    DDCCBBAA

    样例输出

    9
    18
    -27
    30

    你  离  开  了  ,  我  的  世  界  里  只  剩  下  雨  。  。  。

    #include <iostream>
    using namespace std;
    int equipment(char connstr[],int value)
    {
        char ch;
        int i=0;
        while((ch=connstr[i])!='')
        {
            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;
    }
    

  • 相关阅读:
    康拓展开
    P6032 选择客栈 加强版 递推
    0923考试T3 二进制,位运算
    0922考试T3 dfs序 lca 线段树 树上问题
    0921考试T2
    0922考试T1
    P3934 [Ynoi2016]炸脖龙I 树状数组 扩展欧拉定理
    0922考试T4 区间DP
    P6834 [Cnoi2020]梦原 树状数组 期望DP
    UVA1364 Knights of the Round Table Tarjan求点双联通分量+二分图染色
  • 原文地址:https://www.cnblogs.com/im0qianqian/p/5989628.html
Copyright © 2011-2022 走看看