求加密 利用数据结构

有一个加密文件,它的密钥是从100至200中的一个素数,加密方法是每三个字母加上密钥中对应的数字,超出26个大写和小写的字母范围的减去26,空格和标点符号不加密。例如,假设密钥为139,要加密的字符串为“We are students”,第一个字母“W”加密为’W’+1=’X’,第二个字母加密后为’e’+3=’h’,第三个字母加密后为’a’+9=’j’,第四个字母加密后为’r’+1=’s’, 第五个字母加密后为’e’+3=’h’,第六个字母加密后’s’+9超过了字母范围,所以减去26得,’s’+9-26=’b’,….。
读入已加密的字符串,进行破译,将可能的密钥和相应的解密结果输出。
编程要点:
用gets函数读入字符串
编一个函数处理所有可能的密钥,即计算从100到200的所有素数
将密钥化成三个元素的整型数组,分别对应百位、十位和个位
将所有英文字符按序轮换减去对应的数组元素,原来是大(小)写英文字符超出大(小)写英文字符范围加上26。
密码文件内容
      Jk fpz nfy aij jpwyfha bszxjy, ztb bwl bs lyhlmqloy zuzkfsa.
有一个加密文件,它的密钥是从100至200中的一个素数,加密方法是每三个字母加上密钥中对应的数字,超出26个大写和小写的字母范围的减去26,空格和标点符号不加密。例如,假设密钥为139,要加密的字符串为“We are students”,第一个字母“W”加密为’W’+1=’X’,第二个字母加密后为’e’+3=’h’,第三个字母加密后为’a’+9=’j’,第四个字母加密后为’r’+1=’s’, 第五个字母加密后为’e’+3=’h’,第六个字母加密后’s’+9超过了字母范围,所以减去26得,’s’+9-26=’b’,….。
读入已加密的字符串,进行破译,将可能的密钥和相应的解密结果输出。
编程要点:
用gets函数读入字符串
编一个函数处理所有可能的密钥,即计算从100到200的所有素数
将密钥化成三个元素的整型数组,分别对应百位、十位和个位
将所有英文字符按序轮换减去对应的数组元素,原来是大(小)写英文字符超出大(小)写英文字符范围加上26。
密码文件内容
      Jk fpz nfy aij jpwyfha bszxjy, ztb bwl bs lyhlmqloy zuzkfsa.

你这个要求还不少,你自己是不是先搭个框比较好,这样有助于自己的提升啊

一是文件读取

二是求素数函数,然后用求余和整除法将一个整数转换为每位的数组。

三是对每个字符进行解密操作,求余3进行密码反算

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632