118.设计函数encript(char *),实现对输入的一行小写字母进行加密处理。加密方法:每一个字母用其后的第三个来代替,如字母a用d代替,z用c代替
一、题目:118.设计函数encript(char *),实现对输入的一行小写字母进行加密处理。加密方法:每一个字母用其后的第三个来代替,如字母a用d代替,z用c代替
二、效果
三、讲解
1.首先搞清楚字母的ASCII码值区间
A ~ Z是65 ~ 90,a ~ z 是 97~122
2.解题思路
这道题当然可以直接用多个判断语句去做,当遍历到的ASCII码是120时,将字符改成a,当遍历到的ASCII码是121时,将字符改成b…
但是如果题目改成“用其后第8个字母,或者第9个字母”这样显然是不行的
思路:可以先将字母的ascii码归为到从1开始,然后使用求余运算符计算偏移量。设用其后第num个字母代替,当前遍历到的字母对应的ASCII码值是letter,则当letter-96>26-num时,意味着当前字母在26个字母顺序排列中的倒数num个字母中的其中一个,此时,letter其后第num个字母的计算公式是letter=96+(letter-96+num)%26;当不满足letter-96>26-num时,