很久没来大富翁了,发个帖子散散分给大家,这里人气越来越低,哎。。(100)

  • 主题发起人 主题发起人 々飞翔鸟々
  • 开始时间 开始时间

々飞翔鸟々

Unregistered / Unconfirmed
GUEST, unregistred user!
var const M = 94; 这里M的取值比如为90的话加密出来就不对了,用memo显示出来发现少了很多,还有M取很多其他的整数都不对,取94在数字和字母方面目前没发现问题,那位高手指点一下function encode(s:string):string;var n,i:integer; str:string;begin n:=length(s); str:=''; for i:=1 to n do begin str:=str+char(ord(s)-M); end; encode:=str;end;function decode(s:string):string;var n,i:integer; str:string;begin n:=length(s); str:=''; for i:=1 to n do begin str:=str+char(ord(s)+M); end; decode:=str;end;
 
如果你的str里有Char(90),那么会出现加密出来的str里有#0,而#0是结束字符,你需要使用另外一个特殊字符来代替#0
 
接分的路过
 
ASCII可见字符在[33..126]区间内,你要在程序中判断保证待加密字符串的每个字符的ASCII值减去M在[33..126]区间内,否则可能会有问题。
 
char(负数)是什么结果
 
感谢大家参与
 

Similar threads

I
回复
0
查看
818
import
I
I
回复
0
查看
720
import
I
I
回复
0
查看
763
import
I
I
回复
0
查看
687
import
I
I
回复
0
查看
806
import
I
后退
顶部