给出相对排名,输出总排名 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";
		}
	} 
}

得到的执行结果就是如下的样子:
给出相对排名,输出总排名 C++版_c

4.总结

  • 对数组首元素的处理
  • 对总排名的处理,就相当于是使用i更新了rank的值