题解

P1914 小书童——凯撒密码

FakeZGR @ 2017-12-25 23:48:07

#include<iostream>
#include<cstring>
signed char better(char x,int y);//函数声明 
using namespace std;
//定义一个函数 
signed char better(char x,int y)//x,表示输入的字符,y表示要移动的距离, 
   {
    int w;//定义一个整形变量用来存储ASCII码 
    w=x+y;//char直接可以把x变成ascii码,与移动距离相加 
    while(w>122)//大于最大ascii码 
    { 
        w-=26;     //回到所输入x的后一位 
    }
    return (char)w;//回答w(char)w表示把ascii码转换为字母 
   }
int main()
{
    int a=0,b=0;//a用来输入向后移动几格,b用来记录字符长度; 
    string zm;//定义的要输入的密码字符
    cin>>a>>zm; 
    a=a%26;//若a/26的余数等于0,就是不变 
    b=zm.length();//取字符长度,判断进行几次循环,意为每一个字符换一次; 
    for(int i=0;i<b;i++)//循环输出每次函数调用后的结果 
     cout<<better(zm[i],a);//[i]中的i表示输出的第几个字符,列如 x第一位变出z则就表示输出的第一位字符z 
     return 0;
}

by 固执 @ 2017-12-26 12:56:29

这里是讨论区,不是发题解的地方,要发题解请交到题解


|