随机产生20个1~100的整数,用选择排序法从小到大排序,将排序后结果显示在窗体上。将其改写成通用过程。

是用sub过程或function过程来写的代码。麻烦你啦

procedure sort;
var i,j ,k:integer;
begin
for i:=1 to n-1 do
for j :=i+1 to n do
if a[i]>a[j] then swap(a[i],a[j]);
end;
pascal语言 转换成vb的应该很简单吧
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-29
Dim a(20) As Integer

Sub maopao(m As Integer)
Dim l As Integer
Dim i As Integer
Dim j As Integer

For i = 1 To m - 1
l = i
For j = i + 1 To m
If a(l) > a(j) Then l = j
Next j
If l <> i Then
k = a(i)
a(i) = a(l)
a(l) = k
End If
Next i
End Sub

Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer

For i = 1 To 20
a(i) = Int(Rnd * 100) + 1
Next i

Call maopao(20)

For i = 1 To 20
Print a(i);
Next i
End Sub来自:求助得到的回答
第1个回答  2011-08-29
procedure sort;
var i,j ,k:integer;
a:=array[1..20] of byte; 这里为了省空间所以用byte就行了,因为最大才是100嘛。
begin
assign(input,' .in'); 文件名省了
reset(input);
assign(output,' .out');文件名省了
rewrite(output);
for i:=1 to 20 do read(a[i]);
for i:=1 to 19 do
for j :=i+1 to 20 do
if a[i]>a[j] then
begin
n:=a[i];
a[i]:=a[j];
a[j]:=n;
for i:=1 to 20 do write(a[i]);
close(input);
close(output);
end
相似回答