pascal 随机字符串

来源:百度知道 编辑:UC知道 时间:2024/05/26 07:58:13
var
s1,s2:string;
i,j,k:longint;
begin
s1:='ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+|`1234567890-=\/:";';
writeln('please input k');
readln(k);
s2:='';
randomize;
for i:=1 to k do begin
j:=random(58)+1;
s2:=s1[j]+s2;
end;
writeln(s2);
readln;
end.
因为s2是字符串型的,所以长度最大为255。
如何修改才能出程序生成长度为k的随机字符串?

将s2的类型改为字符数组即可。

var
s1:string;
s2:array[0..10000] of char;{长度为10000}
i,j,k:longint;
begin
s1:='ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+|`1234567890-=\/:";';
writeln('please input k');
readln(k);
s2:='';
randomize;
for i:=1 to k do begin
j:=random(58)+1;
s2[i]:=s1[j];
end;
for i:=1 to k do write(s2[i]);
readln;
end.
当然s2的类型也可定为ansistring;其长度不受限制。