如何不进行排序也能计算排名:
#include<iostream>
using namespace std;
typedef struct stu
{
int score;
int rank;
stu(int x){score=x;rank=1;}
}stu;
int main(void)
{
stu A[5]={(70),(80),(70),(98),(88)};
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
if(A[i].score<A[j].score)A[i].rank++;
}
cout<<"score:"<<A[i].score<<" rank:"<<A[i].rank<<endl;
}
return 0;
}
输出:
代码其实很简洁,也不费脑子——有一个人比自己更高分,自己的排名就加一,把所有人都比一遍,排名就出来了 ~~