急救(面试题)(120分)

  • 主题发起人 主题发起人 94132195
  • 开始时间 开始时间
9

94132195

Unregistered / Unconfirmed
GUEST, unregistred user!
我现正在见工,这个老板娘叫我做一题目,我做了半天都没头绪,请各位兄弟姐妹快快帮忙
救命之恩吾将永生难忘
题目如下:
假设有一个全局数组 A:Array[0..99] of integer,
请用delphi设计一个子程序,要求每次调用,在数组中产生一个0..99的随机排列,并简要
说明算法,万望各位各抒已见
 
简单。初始化数组data:array [0..99] of integer;存放0。。99,每次随机产生一
个数,然后去掉这个数,直到没有。eg:
var
data:array [0..99] of integer;
i,j,k,total:integer;
resultdata:array [0..99] of integer;
begin
for i:=0 to 99 do //初始化数组data
data:=i;
total:=100; //个数

randomize;
for i:=0 to 98 do
begin
j:=random(toatl); //随机产生一个数
resultdata:=data[j];
total:=toatl-1; //还剩的个数
for k:=j to total-1 do //去掉选过的数
data[k]:=data[k+1];
end;
resultdata[99]:=data[0];
end; //resultdata即随机得到的0。。99;
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1416428
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
785
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
680
import
I
后退
顶部