pascal 编程de问题

来源:百度知道 编辑:UC知道 时间:2024/06/10 06:19:09
turbo pascal用一维数组做下面的题:
输入十组学生名字与成绩,输出按成绩大小排序的配套的十组学生名字与成绩,要用选择法和冒泡法两种方法做,要两个详细的程序,急用,谢谢。。。
一定要详细程序,不能用字符串

var
a:array[1..10]of string;
b:array[1..10]of real;
i,j:integer;
k:real;
str:string;
begin
for i:=1 to 10 do
begin
readln(a[i]);
readln(b[i]);
end;
for i:=1 to 10-1 do
for j:=1 to 10-i do
if b[j]<b[j+1] then
begin
k:=b[j];
b[j]:=b[j+1];
b[j+1]:=k;
str:=a[j];
a[j]:=a[j+1];
a[j+1]:=str;
end;
for i:=1 to n do
write(a[i],'fenshu:',b[i]);
end.
{上面是冒泡法}
var
a:array[1..10]of real;
b:array]1..10]of string;
temp:real;
str:string;
i,j,k:integer;
begin
for i:=1 to 10 do
begin
readln(b[i]);
readln(a[i]);
for i:=1 to 10-1 do
begin
k:=i;
for j:=i+1 to 10 do
if a[k]<a[j]
then k:=j;