📄 record.pas
字号:
PROGRAM P9_2(input,output);
CONST n=5;
TYPE
alfa=string[10];
student=Record
NO : integer ;
Name: alfa;
Sex: (female,male);
Age: 15 .. 35 ;
Score: record
math:real ;
English:real ;
Chinese:real ;
computer:real ;
ave:real
end ;
END ;
class=array[1.. n] of student ;
PROCEDURE sr(var y:class;n:integer) ;
VAR
sx,i:integer;
x:student;
begin
for i:=1 to n do
with x,score do
begin
writeln('input no,name,sex-0-1,age,m,e,c,c');
readln(NO); readln(Name);
readln(sx);
if sx=1 then sex:=female else sex:=male ;
readln(Age) ;
readln(math,English,Chinese,computer);
ave:=(math+English+Chinese+computer)/4;
y[i]:=x ;
end
end ;
PROCEDURE px(var y:class;n:integer) ;
VAR
i,j:integer; x:student;
begin
for i:=1 to n-1 do
with y[i],score do
for j:=i+1 to n do
if ave < y[j].score .ave then
begin
x:=y[i]; y[i]:=y[j] ; y[j]:=x
end ;
end ;
PROCEDURE tj(var y:class;n:integer) ;
VAR i ,m ,a ,b ,c ,d ,e : integer ;
p1,p2,p3,p4,p5:real;
begin a:=0;b:=0;c:=0;d:=0;e:=0 ;
for i:=1 to n do
with y[i],score do
begin
m:=trunc(ave/10) ;
case m of
9 ,10 : a:=a+1 ;
8 : b:=b+1 ;
7 : c:=c+1 ;
6 : d:=d+1 ;
else e:=e+1
end
end ;
P1:=trunc(a/n*1000)/10;
Writeln('a=',a,p1,'%');
P2:=trunc(b/n*1000)/10;
Writeln('b=',b,p2,'%');
P3:=trunc(c/n*1000)/10;
Writeln('c=',c,p3,'%');
P4:=trunc(d/n*1000)/10;
Writeln('d=',d,p4,'%');
P5:=trunc(e/n*1000)/10;
Writeln('e=',e,p5,'%');
end;
PROCEDURE sc(var y:class;n:integer) ;
VAR
i:integer;
begin
for i:=1 to n do
with y[i],score do
begin
write(NO:8); write(Name:16);
case sex of
female : write('female':8) ;
male : write('male':8) ;
end ;
write(Age:6) ;
writeln(ave:8:2) ;
end
end ;
VAR
s:class;
begin
sr(s,n); px(s,n);
tj(s,n); sc(s,n)
end .
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -