1. 程式人生 > >CCF NOI1029. 資訊加密 (C++)

CCF NOI1029. 資訊加密 (C++)

1029. 資訊加密

題目描述

在傳遞資訊的過程中,為了加密,有時需要按一定規則將文字轉換成密文傳送出去。有一種加密規則是這樣的:

  1. 對於字母字元,將其轉換成其後的第3個字母。例如:A→D,a→d,X→A,x→a;
  2. 對於非字母字元,保持不變。

現在,請你根據輸入的一行字元,輸出其對應的密碼。

輸入

輸入一個字串。

輸出

輸出加密後的字串。

樣例輸入

I(2016)love(08)China(15)!

樣例輸出

L(2016)oryh(08)Fklqd(15)!

資料範圍限制

字串長度不超過100。

C++程式碼

#include <iostream>
#include <string>
#include <cassert>

using namespace std;

int main()
{
    string str;

    cin >> str;

    int lengthOfString = str.size();
    assert(lengthOfString <= 100);

    char c;
    for(int i=0; i<lengthOfString; i++)
    {
        c =
(char)str[i]; if ((c>='A' && c<='Z')) { switch(c) { case 'X': c = 'A'; break; case 'Y': c = 'B'; break; case 'Z': c = 'C'; break; default : c = char(c+3); break; } }
else if ((c>='a' && c<='z')) { switch(c) { case 'x': c = 'a'; break; case 'y': c = 'b'; break; case 'z': c = 'c'; break; default : c = char(c+3); break; } } str[i] = c; } cout << str << endl; return 0; }