pascal自定义类型:记录类型题目

来源:百度知道 编辑:UC知道 时间:2024/05/16 11:33:40
输入3个学生的信息,包括:姓名(integer)年龄(1..20),性别(0..1),语文,数学,英语的成绩,把它们语数英3科总分相加,按照分数高低从小到大排名后,把他们的信息输出

program aa;
type
rec=record
name:integer;
age:1..20;
xb:0..1;
chi,mat,eng:0..100;
total:0..300;
end;
var
i,j:1..3;
temp:rec;
a:array[1..3] of rec;
begin
for i:=1 to 3 do
begin
read(a[i].name,a[i].age,a[i].xb,a[i].chi,a[i].mat,a[i].eng);
a[i].total:=a[i].chi+a[i].mat+a[i].eng;
end;
for i:=1 to 2 do
for j:=i+1 to 3 do
if a[i].total>a[j].total then
begin
temp:=a[i];
a[i]:=a[j];
a[j]:=temp;
end;
for i:=1 to 3 do
begin
write(a[i].name,'':2,a[i].age,'':2,a[i].age,'':2);
writeln(a[i].chi,'':2,a[i].mat,'':2,a[i].eng);
end;
end.

type
node=record
name,age,sex,chi,math,eng,total:integer;
end;
var
a:array[1..3] of node;
t:node;
i:integer;
begin
f