给出相对排名,输出总排名 C++
版
1.题意
给出相对排名,输出总排名。
比如现在有分数: int array[10] = {100,100,92,92,92,83,74,65,65,65};
。现在你需要输出他们的总排名,即想得到的输出结果就是:1 1 3 3 3 6 7 8 8 8
2.分析
常用的实现需要记住的。
3.代码
#include <iostream>
using namespace std;
int main () {
//现在就假设array 中存取的就是每个人的排名,现在让你输出他们的总排名
//想得到的结果就是:1 1 3 3 3 6 7 8 8 8
int array[10] = {100,100,92,92,92,83,74,65,65,65};
int rank = 1;
//输出第一名
cout<< rank<<":"<<array[0]<<"\n";
for(int i = 1;i< 10;i++){
if( i>=1 && array[i] == array[i-1]){//如果
cout<< rank<<":"<<array[i]<<"\n";
}else{
rank = i+1;
cout<< rank<<":"<<array[i]<<"\n";
}
}
}
得到的执行结果就是如下的样子:
4.总结
- 对数组首元素的处理
- 对总排名的处理,就相当于是使用i更新了rank的值