日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

奖学金pascal程序

發布時間:2025/3/15 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 奖学金pascal程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題意

把總分排序


分析

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


var
a,t,p:array[0..300]of longint;
n,i,x,y,j:longint;
procedure kp(l,r:longint);
var
i,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]<mid do dec(j);
? ? ? ? ?if (t[i]<t[j])or(t[i]=t[j])and(a[i]<a[j])or(t[i]=t[j])and(a[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];
? ? ? ? ? ? ?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]<t[j])or(t[i]=t[j])and(a[i]<a[j])or(t[i]=t[j])and(a[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.

轉載于:https://www.cnblogs.com/YYC-0304/p/9500213.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的奖学金pascal程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。