回 帖 发 新 帖 刷新版面

主题:编码解码:

1、编码解码:从键盘输入一个英文句子,设计一个编码、解码程序。(string)
  编码过程:先键入一个正整数N(1<=N<=26)。这个N决定了转换关系。 例如当N=1,输入的句子为ABCXYZ时,则其转换码为ABCXYZ不变。当N=2时,其转换码为BCDYZA,其它的非字母字符不变。为使编码较于破译,将转换码的信息自左而右两两交换,若最后仅剩单个字符则不换。然后,将一开始表示转换关系的N根据ascii表序号化成大写字母放在最前面。
  如:abcABCxyzXYZ-/,1. n=3
    ① cdeCDEzabZAB-/,1. {根据N的值转换}
    ② dcCeEDazZbBA/-1,. {两两交换}
    ③ CdcCeEDazZbBA/-1,. {最后编码}
  解码过程为编码的逆过程。
  

回复列表 (共1个回复)

沙发

字符串操作而已,按题目要求应该很容易编吧:
编码:先按顺序后移,然后判断是否超出‘z'或‘Z'再作特殊处理,然后循环交换,再在字符串开头加上chr(n+64)就行了
解码:读第一个字符算出n,然后循环交换,再按顺序前移,然后判断是否超出‘a'或‘A'再作特殊处理就行了
 

我来回复

您尚未登录,请登录后再回复。点此登录或注册