解决“排名次”问题
?牐犑紫龋ㄒ辶礁鍪椤R桓鍪镃J(N),用于存储每个学生的总分成绩(N为学生数),一个数组MC(N),用于存储相应的每个学生的名次。MC数组初始化为:
?牐燤C(1)=1,MC(2)=2,……,MC(N)=N
?牐犎缓蟀凑崭魅说淖芊郑匦氯范∕C(N)的值:从第一个学生开始,将总分依次与其后的学生总分比较,根据比较的结果改变名次的值,方法如下:
?牐犗缺冉螩J(I)和CJ(J):
?牐犎鬋J(I)<CJ(J),则MC(I)=MC(I)+1,MC(J)=MC(J)-1;
?牐犎鬋J(I)=CJ(J),则MC(I)=MC(I)+1;
?牐犎鬋J(I)>CJ(J),则MC(I)、MC(J)的值都不改变。
?牐牥创怂惴ǎ傻玫礁魅说拿危ǚ质嗟龋蜗嗤?。可将此算法编写为一个过程,代码如下:
?牐燬ub pmc()?煟?
?牐燜or I=1 to n
?牐燤c(i)=I
?牐燦ext I
?牐燜or I=1 to n-1
?牐燜or j=I+1 to n
?牐營f cj(i)<cj(j)then
?牐燤c(i)=mc(i)+1
?牐燤c(j)=mc(j)-1
?牐燛lse if cj(i)=cj(j) then
?牐燤c(i)=mc(i)+1
?牐燛nd if
?牐燛nd if
?牐燦ext j
?牐燦ext I
?牐燛nd sub
?牐牼咛宓某绦蛘饫锞筒蛔甘隽恕H裟阌懈玫乃惴ǎ辞敕钕赘蠹夜蚕怼?