• 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;
    }
    

  • 相关阅读:
    利用树莓派把普通打印机变成网络打印机方法
    Python之datetime库
    CentOS7从默认/home中转移空间到根分区/
    更改Azure虚拟机账号密码
    创建一个托管磁盘的Windows定制镜像
    IO多路复用详解
    玩转redis
    EF Linq to Sql 多表left join查询并对结果group by分组之后进行count,max等处理
    免费,主流的在线办公/协作,会议,文档,调查,分享工具推荐(持续维护中)
    多sql查询count合并为一行
  • 原文地址:https://www.cnblogs.com/im0qianqian/p/5989628.html
Copyright © 2020-2023  润新知