题解:UVA13145 Wuymul Wixcha

· · 题解

一道字符串题,还是挺简单的。

题意简述

题目被加密了没法翻译,但通过观察样例我们大致可以推出:这题就是给你一个字符串和偏移量,让你对它进行加密。移动到顶之后就返回到 a 重新移动。举个例子:如果让你把 y 移动 3 位,那么如下:

(字有点丑凑合看吧)

在移动到 z 之后,应该重新回到 a 再往下走。

需要注意的是,偏移量有可能为负,也有可能大于二十六。

思路

此题输入的字符串包含空格,所以常规输入是不行的,应该使用这个玩意:

string s;
getline(cin,s);

关于它的介绍另一位大佬的题解里有,不赘述。

一开始先把偏移量对二十六取余。然后分开处理大写和小写字母。如果超过了上下界就倒着减去二十六。注意不能直接模二十六,否则出来的就不是字母了。

如果输入的偏移量为 0 就结束代码,否则正常输出就可以了。

代码比较简单,但我写的有点冗长,就不挂上来了,可以借鉴一下其他几位大佬的程序。

看完就回去做题吧