1399 - 学员的名次?
题目描述
期末考试语文成绩出来了,老师在课堂上公布了每位同学的语文成绩,小明想查一下自己的成绩在班级能排到第几名。请你编写一个程序,根据给定的所有同学的语文成绩以及小明的语文成绩,计算出小明的排名。(假设所有人成绩都不相等)
输入
第一行一个整数 n 代表学生总人数(n≤100 );
第二行,有 n 个整数,代表 n 个语文成绩(这些成绩都是 0∼1000∼100之间的分数);
第三行一个整数 x 代表小明同学的语文成绩。
输出
一个整数,代表小明同学的名次。
样例
输入
复制
5 98 100 99 80 87 98
输出
复制
3
这道题我本来是想从博客上抄答案的,结果博客上没有,所以就简单写一下代码吧。
#include<iostream>//头文件不用多说
using namespace std;
int main(){
int a[100000],n;
cin>>n;
int x;
for(int i=0;i<n;i++){
cin>>a[i];
}
int s;//用于记录小明同学的名次
cin>>x;
//冒泡排序从大到小排列数组元素
for(int i=0;i<n-1;i++){
for(int j=0;j<n-1-i;j++){
if(a[j]<a[j+1]){
int t;
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(int i=0;i<n;i++){
if(a[i]==x){
s=i+1;//循环i初始为0,一定要加1
break;
}
}
cout<<s;//输出结果s
}