选择排序问题
pascal吧
全部回复
仅看楼主
level 5
先说明,我是小白[不高兴]
var
f1,f2:text;
n,i,j,max,mi:integer;
a:array[1..500]of integer;
begin
assign(f1,'chenkaige.in');assign(f2,'chenkaige.out');
reset(f1);rewrite(f2);
readln(f1,n);
for i:=1 to n do
readln(f1,a[i]);
for i:=1 to n-1 do
begin
max:=a[i];mi:=i;
for j:=i+1 to n do
if a[j]>a[i] then begin max:=a[j];mi:=j;end;
a[mi]:=a[i];a[i]:=max;
end;
for i:=1 to n do
write(f2,a[i],' ');
writeln(f2);
close(f1);
close(f2);
end.
这样一个选择排序的程序,老师说修改一下,变成只输出第五大的数,求大神看看是不是这样:
var
f1,f2:text;
n,i,j,max,mi:integer;
a:array[1..500]of integer;
begin
assign(f1,'chenkaige.in');assign(f2,'chenkaige.out');
reset(f1);rewrite(f2);
readln(f1,n);
for i:=1 to n do
readln(f1,a[i]);
for i:=1 to 5 do
begin
max:=a[i];mi:=i;
for j:=i+1 to n do
if a[j]>a[i] then begin max:=a[j];mi:=j;end;
a[mi]:=a[i];a[i]:=max;
end;
write(f2,a[i],' ');
writeln(f2);
close(f1);
close(f2);
end.
2016年05月22日 14点05分 1
level 5
没人吗
2016年05月23日 12点05分 2
level 5
排序完,从大到小,只输出a[5],
2016年05月24日 12点05分 3
老师说要求程序运行最快
2016年05月24日 12点05分
level 5
50000个数建议用快排
2016年05月24日 13点05分 4
1