我不知道错哪儿了,请求帮助
题目描述
学期末学校根据同学们的学习成绩发放奖学金,奖学金的具体金额是这样的:
一等奖学金,共2名同学 500元/人;
二等奖学金,共4名同学 300元/人;
三等奖学金,共4名同学 100元/人;
已知班级n位同学的成绩(10<=n<=100,输入数据保证n位同学的成绩不相等),请按照成绩由高到低,计算出每个成绩应获得的奖学金(没有奖学金的成绩,请输出0)。
输入
第1行输入一个整数n(10<=n<=100)
第2行输入n个整数(互不相等)
输出
从大到小输出每位同学的奖学金,每行有2个数,每行的第1个数代表同学的成绩,第2个数代表同学的奖学金。
样例输入 复制
12
100 98 90 91 89 78 81 88 82 80 85 93
样例输出 复制
100 500
98 500
93 300
91 300
90 300
89 300
88 100
85 100
82 100
81 100
80 0
78 0
来源/分类
数组问题
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a[101],x=500;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n,greater<int>());
for(int j=0;j<n;j++){
if(j==2 or j==1)x=500;
if(j==6 or j==5 or j==4 or j==3)x=300;
if(j==10 or j==9 or j==8 or j==7)x=100;
if(j>10)x=0;
cout<<a[j]<<" "<<x<<endl;
}
return 0;
}
请你们帮忙改正,谢谢