zoukankan      html  css  js  c++  java
  • Problem F: 重载字符的加减法

    Description

    定义一个字符类Character,只有一个char类型的数据成员。

    重载它的+、-、<<和>>运算符,其中+、-的第二个操作数是int类型的整数n。“+”用于返回以当前字符之后的第n个字符为属性值的对象,“-”用于返回当前字符之前的第n个字符为属性值的对象。如样例所示。

    Input

    第1行N>0表示测试用例个数。

    每个测试用包括1个字符(小写英文字母)和1个int类型的整数。

    Output

    输出有N行,每行输入对应一行输出,每行输出包括对应输入字符之后的第n个字符,以及该字符之前的第n个字符。如样例中第2个用例输入字符是“a”,整数是“1”,那么“a”之后的第1个字符是”b“,"a"之前的第1个字符是”z“;注意:输入的整数可能是负数。

    Sample Input

    3 a 0 a 1 a -1

    Sample Output

    a a b z z b

    HINT

    Append Code

    #include<iostream>
    using namespace std;
    class Character
    {
    private:
        char ch;
        int in;
    public:
        char operator+(int n)
        {
            //char是小一号的int
            int c=ch+n;//小变大,用int解决了asc不可负;注:ch不加单引号
            if(c>'z')//减一堆等价%
                c%=26;
            while(c<'a')//负数取余还是负数
                c+=26;
            return c;
        }
        char operator-(int n)
         {
            int c=ch-n;
            if(c>'z')
                c%=26;
            while(c<'a')
                c+=26;
            return c;
        }
        friend ostream& operator<<(ostream& os,const Character& a)
        {
            os<<a.ch;
            return os;
        }
        friend istream& operator>>(istream& is,Character &a)
        {
            is>>a.ch;
            return is;
        }
    };
    int main()
    {
        int cases, data;
        Character ch;
        cin>>cases;
        for (int i = 0; i < cases; i++)
        {
            cin>>ch;
            cin>>data;
            cout<<(ch + data)<<" "<<(ch - data)<<endl;
        }
    }

  • 相关阅读:
    JMeter参数签名——Groovy工具类形式
    arthas进阶thread命令视频演示
    疫情期间,如何提高远程办公效率
    Groovy中的闭包
    arthas快速入门视频演示
    绑定手机号性能测试
    基于HTTP请求的多线程实现类--视频讲解
    合格的测试经理必备技能
    Error Code : 1064 You have an error in your SQL syntax; check the manual that corresponds to your My
    Navicat Premium怎么设置字段的唯一性(UNIQUE)?
  • 原文地址:https://www.cnblogs.com/TogetherLaugh/p/6623492.html
Copyright © 2011-2022 走看看