之前在我的博客:https://blog.csdn.net/qq_43633973/article/details/100176902 里面提到了一题:
5.写一个加密程序,它通过cin从输入流中读入一段明文,通过cout将密文写到输出流,采用下面的简单加密方法:
(1)通过命令行参数读入密钥key,它是一个字符
(2)明文中字符c的密文为c^key[i]
(3)循环使用key的每个字符,直到处理完全部明文。如果key为空,则不作任何加密
(4)解密时,用同一个key重新加密密文,就可以得到明文
这题自己实现的时候对 c^key[i] 理解错误了应该,题目本来就是用这个符号当做异或符号,而不是指数。
*****
所以如果遇到指数就老老实实的用math.h头文件的pow(a,b)函数吧!
*****
有个小点,用pow函数的时候,用了c语言的printf函数,所以必须指定输出类型,发现pow返回的是double类型的数据。使用%f格式后不太不美观,后面跟了一堆小数0,所以强制类型转换下。以前用cout<<输出 从来没有注意过这个问题。因为看到书上说iostream头文件的输入输出函数 比较慢,C的输入输出比较快,所以现在在尝试多用C的输入输出形式。(C++可以向下兼容C)
可以简单看下:
#include <cstdio>
#inclu