zoukankan      html  css  js  c++  java
  • 恺撒的密码

    恺撒的密码

     
    Time Limit : 1000 MS   Memory Limit : 65536 KB
     

    Description

    恺撒时代充满了动荡和危险,恺撒为了保证在战争中传递秘密消息,发明了一种密码。他在所有的信件中将所有的字符按字母顺序向后移动了5个位置(比如说,原文中是A,那么密信中就为F),密信中字母和原文中字母的对应关系如下:
    密文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
    原文:V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
    只有字母被替换,而且所有字母都是大写的。


    输入:

    第一行是一个整数K,表示有多少个测试用例,以后每行一个测试用例。每行为一个字符串(长度不超过1000个字符)。


    输出:

    每行输出一个测试用例的结果。

     

    Sample Input

    3
    NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX
    N BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJ
    IFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJ
     

    Sample Output

    IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES
    I WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROME
    DANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE
    
    
    
    
    参考代码:
    #include<iostream>
    #include<cstdio>
    using namespace std;
    char s[1010];
    
    int main ()
    {  int n,i,k;
        cin>>n;
        getchar();
        while(n--)
          {
              for(k=0;s[k-1]!='
    ';k++)
                   s[k]=getchar();
                      k=k-1;
                 i=0;
                while(i<k)
              { if(s[i]>='F'&&s[i]<='Z')
             printf("%c",s[i]-5);
             else if(s[i]>='A'&&s[i]<='E')
             printf("%c",s[i]+21);
             else cout<<s[i];
             i++; }
             cout<<endl;
        }
        return 0;
    }

     

  • 相关阅读:
    leetcode 1 两数之和
    leetcode 486 预测赢家
    leetcode 121 买卖股票的最佳时机
    leetcode 5 最长回文子串
    个人作业——软件工程实践总结作业
    个人作业——软件产品案例分析
    软件工程实践2017 个人技术博客
    软件工程实践2017结对项目——第二次作业
    软件工程实践2017结对项目——第一次作业
    课堂笔记(六)
  • 原文地址:https://www.cnblogs.com/tufujie/p/4854252.html
Copyright © 2011-2022 走看看