程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 實驗12:Problem C: 重載字符的加減法,problem加減法

實驗12:Problem C: 重載字符的加減法,problem加減法

編輯:C++入門知識

實驗12:Problem C: 重載字符的加減法,problem加減法


Home Web Board ProblemSet Standing Status Statistics   Problem C: 重載字符的加減法

Problem C: 重載字符的加減法

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 493  Solved: 248
[Submit][Status][Web Board]

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

append.cc,
[Submit][Status][Web Board]

한국어<   中文  فارسی  English  ไทย
All Copyright Reserved 2010-2011 SDUSTOJ TEAM
GPL2.0 2003-2011 HUSTOJ Project TEAM
Anything about the Problems, Please Contact Admin:admin

#include<iostream>
using namespace std;
class Character{
public:
    char c;
    friend istream& operator >> (istream&,Character&);
    friend char operator + (Character&, int);
    friend char operator - (Character&, int);
};
istream& operator >> (istream& is,Character& c){
    is>>c.c;
    return is;
}
char operator + (Character& c, int o2){
    return (c.c  + o2 % 26 - 'a' + 26 ) % 26 + 'a';
}
char operator - (Character& c, int o2){
    return (c.c  - o2 % 26 - 'a' + 26 ) % 26 + 'a';
}
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;
    }
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved