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時,輸出的結果是多少?ios

#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;
}ui


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

輸入

第一行m
第二行開始,每行對應一種裝置的鏈接序列code

輸出

每種鏈接序列的輸出結果,每一個結果佔一行blog

樣例輸入

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])!='\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;
}
相關文章
相關標籤/搜索