unit yaohaoqiU; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Spin; type TForm1 = class(TForm) Button1: TButton; SpinEdit1: TSpinEdit; SpinEdit2: TSpinEdit; Label1: TLabel; Label2: TLabel; ListBox1: TListBox; Button2: TButton; Label3: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation
{$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i,j,r,l:integer; s:string; All:array[0..1000] of integer;//这个数组用来装随机数的 Result:array[0..1000] of integer;//这个数组用来装结果的 begin l:=label3.Height; if spinEdit1.Value<spinEdit2.Value then begin label3.caption:=''''错了喔..倒了也!''''; label3.Width:=353; end else begin for i:=0 to spinEdit1.Value-1 do All[i]:=i; //产生M个随机数 for i:=0 to spinEdit2.Value-1 do begin j:=random(spinEdit1.Value); r:=j mod (spinEdit1.Value-1-i); Result[i]:=All[r]; All[r]:=All[spinEdit1.Value-1-i]; end; ListBox1.Clear; s:='''' ''''; for i:=0 to spinEdit2.Value-1 do begin s:=s+inttostr(Result[i])+'''' ''''; ListBox1.Items.add(inttostr(Result[i])); end; label3.caption:=s; label3.Width:=353; end; form1.Height:=(300+(l-110)); form1.InitiateAction; end; procedure TForm1.Button2Click(Sender: TObject); begin close; end; end. 运行时: 输入后结果:
改个数后结果:
没有相关教程
|