需要使用CPPascalEditorv3.补资鲁7打开
顺便说明一下,这是我在做科技创新大赛的作品的一部分,请注意使用。
Programvigenere;
var
ans:array[0..101]ofchar;
c:char;s:string;
i,n,tot,len,j:longint;
begin
j:=0;tot:=0;
writeln('请输入密钥:');
readln(s);
len:=length(s);
writeln('请输入明文:');
whilenoteolndo
begin
read长均倒部(c);
inc(j);
inc(tot);
ifj>lenthenj:=1;
n:=ord(s[j])-96-1;
i来自ford(c)>122-nthen
ans[tot扬粉跑初天]:=chr(ord(c)-26+n)
els北物苏燃血广eans[tot]:=chr鸡转培雷照己(ord(c)+n);
end;
writeln('密文是:');
fori:=1tototdowrite(ans[i]);
readln;
readln
end.
解密程序:
var
ans:array[0..101]ofchar;
c:char;s:string;
i,n,tot,曾达呼危来血len,j:longint;
begin
j:=0;tot:=0;
writeln('请输入密钥:');
readln(s);
len:=length(s);
writeln('请输入密文:');
while360问答noteolndo
be专石负在步留宜误耐侵gin
read(c);
inc(j);
inc(tot);
第ifj>lenthe径洋零呼静什便道据缺nj:=1;
n:=ord(s[j])-96-1;
iford(c)>ord('a')+n-1then
ans[tot]:=chr(ord(c)-n)
elseans[tot]:染药立洲片准复=chr(ord(c)+26-n);
end;
writeln('明文是:');
fori:安领=1tototdowrite(ans[尔度故顾钟直i]);
readln;
rea升朝还临在dln
end.
标签:维吉尼亚,加密器,密码