zoukankan      html  css  js  c++  java
  • 栈——密码翻译

    题目链接
    总时间限制: 1000ms 内存限制: 65536kB
    描述
    在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,则可得到一个简单的加密字符串。

    输入
    第一行是字符串的数目n。
    其余n行每行一个字符串。
    输出
    输出每行字符串的加密字符串。
    样例输入

    1
    Hello! How are you!
    

    样例输出

    Ifmmp! Ipx bsf zpv!
    

    最近重新开始练算法了,好多基础用法都忘了,现在重新熟悉一下,先从OpenJudge做起。

    这道题严格意义上应该题目叫简单凯撒密码翻译。题目理解很简单,不过对于scanf的用法需要注意,在%s格式时,遇到空格就会结束输入,这里可以用gets()和scanf("%[^ ]",h)来解决这个问题。

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    
    int main(){
        //freopen("in.txt","r",stdin);
        char h[1000];
        int n;
        scanf(" %d",&n);
        getchar();
        for(int k = 0;k < n;k++){
            //getchar();
            gets(h);
            //printf("%s
    ",h);
            int len=strlen(h);
            for(int i = 0;i < len;i++){
                if((h[i] >= 'a' && h[i] < 'z') ||( h[i] >= 'A' && h[i] < 'Z')){
                    h[i]+=1;
                }
                else if(h[i] == 'z'){
                    h[i] = 'a';
                }
                else if(h[i] == 'Z'){
                    h[i] = 'A';
                }
            }
            printf("%s
    ",h);
        }
        return 0;
    }
    
  • 相关阅读:
    改变oracle数据库归档模式_译文
    改变数据库归档模式
    oracle状态
    oracle开启一个用户
    plsql中文乱码问题方案解决
    mybatis 和hibernate的区别
    jquery
    servlet 相应头重定向
    自定义鼠标右键
    关于select input(选中,取值,赋值等)--------方便自己查阅
  • 原文地址:https://www.cnblogs.com/sean10/p/4974156.html
Copyright © 2011-2022 走看看