天天看点

【POJ3749】:破译密码题意代码

题意

题目大意很简单,很容易找出对应字母的ASCII码值的关系,但是有一点需要注意,请看代码:

读字符串必须要用getline函数

输入ENDOFINPUT终结

代码

/// 解密
#include <iostream>
#include <string>
#include <cstdio>
using namespace std;
int Ischar(char a){
    if(a>='A' && a<='Z'){
        return 1;
    }
    return 0;
}
int main(){
    char s[200];
    string s1,s2;
    while(1){
        cin>>s1;
        if(s1=="ENDOFINPUT") break;
        getchar();  //读掉cin没有吃掉的回车
        cin.getline(s,200);
        cin>>s2;
        for(int i=0;i<strlen(s);i++){
            if(Ischar(s[i])){
                if(s[i]>='F'){
                    int a=s[i]-5;
                    cout<<(char)a;
                }
                else{       //对A,B,C,D,E,a,b,c,d,e特殊处理
                    int a=s[i]-5+26;
                    cout<<(char)a;
                }
            }
            else cout<<s[i];
        }
        cout<<endl;
    }
    return 0;
}