10 分数统计 (300 分)
老师想统计学生考试排名,假定一共有n名学生,学号为1至n。现按学号递增顺序给定每个学生的分数,请编写程序,帮助老师计算:对于每个学生,他的成绩比多少人高。假定考试满分为1000分,成绩均为整数。
这道题在比赛的时候没想到,结束后再仔细考虑以及百度,发现当输入一个分数的时候,从这个分数到1000加一,例如当输入80的时候,从81到1000都加一,于是最后再查询比这个分数小的有多少人的时候,直接查询。
#include<bits/stdc++.h> using namespace std; int sorce[1005]; int main(){ int n,x; cin>>n; int arr[n]; for(int i = 0 ; i < n; i++){ cin>>x; arr[i]=x; for(int j = x+1; j<=1000; j++){ sorce[j]++; } } for(int i = 0; i < n; i++){ cout<<sorce[arr[i]]<<" "; } cout<<endl; return 0; }

浙公网安备 33010602011771号