2017年9月16日 星期六

[ITSA Exam.57]Problem1. QWERTY(C++)

問題描述 : 
        輸入一段文字 ( 限制為 ASCII 表中,編號 表中,編號 表中,編號 32 至 125 之字元 ) ,將它們 ,將它們 每個字元 依照鍵盤的位置,印出它們右邊若按有兩層每個字元 依照鍵盤的位置,印出它們右邊若按有兩層每個字元 依照鍵盤的位置,印出它們右邊若按有兩層每個字元 依照鍵盤的位置,印出它們右邊若按有兩層每個字元 依照鍵盤的位置,印出它們右邊若按有兩層每個字元 依照鍵盤的位置,印出它們右邊若按有兩層每個字元 依照鍵盤的位置,印出它們右邊若按有兩層每個字元 依照鍵盤的位置,印出它們右邊若按有兩層每個字元 依照鍵盤的位置,印出它們右邊若按有兩層每個字元 依照鍵盤的位置,印出它們右邊若按有兩層( 如 ‘:’和‘;’位於同一按鍵上 ) ,則輸出下層字元即 ,則輸出下層字元即 ,則輸出下層字元即 ,則輸出下層字元即 ,則輸出下層字元即 ‘;’,若該按鍵為上層 ,若該按鍵為上層 ,若該按鍵為上層 字元 ( 如‘!’) 則輸出其右邊按鍵之上層字元 ( 如‘@’) ,若輸入的字元右 ,若輸入的字元右 ,若輸入的字元右 邊的鍵為不可視按,如 邊的鍵為不可視按,如 邊的鍵為不可視按,如 邊的鍵為不可視按,如 邊的鍵為不可視按,如 shift, enter, backspace backspace 或右邊已無按鍵, 或右邊已無按鍵, 或右邊已無按鍵, 或右邊已無按鍵, 則不做 更動,照樣輸出 。
輸入說明 :
        第一列輸入個正整數 n (0 < 10) n (0 < 10) n (0 < 10) ,代表有 n筆測資。 每筆測資 輸入一行鍵盤上屬於 輸入一行鍵盤上屬於 輸入一行鍵盤上屬於 輸入一行鍵盤上屬於 輸入一行鍵盤上屬於 輸入一行鍵盤上屬於 輸入一行鍵盤上屬於 輸入一行鍵盤上屬於 輸入一行鍵盤上屬於 ASCII 表中編號 表中編號 表中編號 表中編號 32 至 125 之字元,並以 之字元,並以 之字元,並以 之字元,並以 之字元,並以 之字元,並以 enter 結束該行 。
輸出說明 : 
        輸出該行每個字元右邊位置的文,除題目所述之例外。最後必須 輸出該行每個字元右邊位置的文,除題目所述之例外。最後必須 輸出該行每個字元右邊位置的文,除題目所述之例外。最後必須 輸出該行每個字元右邊位置的文,除題目所述之例外。最後必須 輸出該行每個字元右邊位置的文,除題目所述之例外。最後必須有換行字元。


#include <iostream>
#include <string.h>
#include <vector>
#include <cstring>
#include <cstdlib>
using namespace std;

int main()
{
    string strN ;
    getline(cin,strN);
    int N = atoi(strN.c_str());

    for(int g = 0; g < N;g++)
    {
        string STRinput;
        getline(cin,STRinput);
        string other="!@#$%^&*()_++`1234567890-=={}||qwertyuiop[]\\:""asdfghjkl;''<>??zxcvbnm,.//";
        int fir = STRinput.size();
        int sec = other.size();

        for(int i = 0; i < fir;i++)
        {
            STRinput[i] = tolower(STRinput[i]);
        }
        for(int i = 0; i < fir;i++)
        {
            for(int j= 0;j<sec;j++)
            {
                 if(STRinput[i] == ' ')
                 {
                     STRinput[i] = ' ';
                     break;
                 }
                 else if(STRinput[i] == other[j])
                 {
                     STRinput[i] = other[j+1];
                     break;
                 }
            }
            cout<<STRinput[i];
        }
        cout<<endl;
    }
    return 0;
}

沒有留言:

張貼留言