📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
Const
N=5;//定义一个常量N,用来表示数组元素个数
var
arr:Array[1..N]of Integer;//定义单元级数组变量
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,p,t:Integer;
begin
for i:=1 to N-1 do //一共进行N-1轮比较
begin
p:=i; //最小值下标为i
for j:=i+1 to N do {第i轮比较时从第i个数到第N个数中
寻找出最小的与第i个数交换位置}
if arr[p]>arr[j] then
p:=j; //较小值下标赋值给p
if p<>i then //一轮比较完,将最小的数与第i个数交换排列好第m个数
begin
t:=arr[p];
arr[p]:=arr[i];
arr[i]:=t;
end;
end;
for i:=1 to N do
Edit2.Text:=Edit2.Text+IntToStr(arr[i])+','; //每两个数之间以逗号分隔
Edit2.Text:=Copy(Edit2.Text,1,Length(Edit2.Text)-1);//去掉最后一个逗号
end;
procedure TForm1.Button2Click(Sender: TObject);
var
m:Integer;
begin
Edit1.Text:=''; //清除编辑框数据
Edit2.Text:='';
for m:=1 to N do
arr[m]:=StrToInt(InputBox('输入N个整数','输入arr('+
IntToStr(m)+')','0'));//输入数组元素arr[m]
for m:=1 to 5 do
Edit1.Text:=Edit1.Text+IntToStr(arr[m])+',';
Edit1.Text:=Copy(Edit1.Text,1,Length(Edit1.Text)-1);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -