求助一个C++的问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 23:28:35
是钱能的C++的第二版第三章的习题
编制程序,将输入的一行字符以贾母的形式输出,然后将其解密,解密的字符序列与输入的正文惊醒比较,吻合时输入解密的正文,否则输入解密失败。
加密时,将每个字符的ASCII码一次反复加上“4962873”种的数字,并在32(‘ ’)到122('z')之间做模运算。节目瑜伽母的顺序相反。

希望能有个详细的过程
意思就是ASCII码依次加上4 9 6 2 8 7 3
并在32('')至122('z')(这里的32和122指的是ASCII码的值)之间做模运算。
解密与加密的顺序相反,例如输入正文“the result of 3 and 2 is not 8”则运行结果为
xqk方块zlvyuzqn方块6$jtf(9#m!&pw #)
the result of 3 and 2 is not 8

(上文中的方块表示的是一个方块字符)

希望你能修改一下你的别字,看了一遍题目还是没看懂。
加密时,将每个字符的ASCII码一次反复加上“4962873”种的数字,并在32(‘ ’)到122('z')之间做模运算。节目瑜伽母的顺序相反。
这段看不懂了,前面的还能理解
可是我还是不理解什么叫做模运算呢?
取模总要有个模几的吧????而且取了模以后就不能解密了啊
按照你的结果看,加密只是这么一个过程:
int t[7] = {4,9,6,2,8,7,3}
for(int i = 0; i < str.length; i ++)
{
str[i] = str[i]+t[i%7];
}
这样把字符串里面的每个字母都替换一遍就可以了啊。
解密的时候+变成-就是了。哪有取模啊