獎學金pascal程式

2021-07-26 02:25:39 字數 1120 閱讀 4553

題意

把總分排序

分析先按總分從高到低排序,如果兩個同學總分相同,再按語文成績從高到低排序,如果兩個同學總分和語文成績都相同,那麼規定學號小的同學 排在前面

vara,t,p:array[0..300]of longint;

n,i,x,y,j:longint;

procedure kp(l,r:longint);

vari,j,mid:longint;

begin

if l>=r then exit;

i:=l;j:=r;mid:=t[(l+r) div 2];

repeat

while t[i]>mid do inc(i);

while t[j]a[j])and(p[i]>p[j]) then

begin

a[0]:=a[i];a[i]:=a[j];a[j]:=a[0];

t[0]:=t[i];t[i]:=t[j];t[j]:=t[0];

p[0]:=p[i];p[i]:=p[j];p[j]:=p[0];

inc(i);dec(j);

end;

until(i>j);

kp(l,j);

kp(i,r);

end;

begin

readln(n);

for i:=1 to n do

begin

readln(a[i],x,y);

t[i]:=a[i]+x+y;

p[i]:=i;

end;

//kp(1,n);

for i:=1 to n-1 do

begin

for j:=i+1 to n do

if (t[i]a[j])and(p[i]>p[j]) then

begin

a[0]:=a[i];a[i]:=a[j];a[j]:=a[0];

t[0]:=t[i];t[i]:=t[j];t[j]:=t[0];

p[0]:=p[i];p[i]:=p[j];p[j]:=p[0];

end;

end;

for i:=1 to 5 do

writeln(p[i],' ',t[i]);

end.

迷宮pascal程式

題意 走迷宮,要繞開障礙,走過的就不能再走,求有多少種不同的方法可以到達終點 分析我們可以用深搜來做,輸入時把障礙的座標記錄下來 const dx array 1.4 of longint 0,0,1,1 dy array 1.4 of longint 1,1,0,0 varn,m,t,sx,sy,...

拼數pascal程式

題意 將一些是接起來,找出接的最大的數 分析這題其實就是最大整數。做的時候,我們可以先把數字串排序,從小到大,再乙個乙個接起來 varn,i,x,j longint t string s array 0.20 of string procedure kp l,r longint vari,j lon...

獎學金發放程式

題目內容 某校的慣例是在每學期的期末考試之後發放獎學金。發放的獎學金共有五種,每項獎學金獲取的條件分別如下 2 五四獎學金 期末平均成績高於85分 85 並且班級評議成績高於80分 80 的學生每人均可獲得4000元 3 成績優秀獎 期末平均成績高於90分 90 的學生每人均可獲得2000元 4 西...