题目描述
为了鼓励大家写出更好的作业,花栗鼠科技大学(Hualishu University of Science and Technology, HUST)的组原实验采用了竞争得分的方式。
具体来说,假设有 n 个人提交了作业,并且其中原始得分最低的人记作 amin ,原始得分最高的人记作 amax,第 i 个人的原始得分为 ai,那么第 i 个人的得分就是:
100×(a i - a min)/(a max - a min)
由于成绩系统的问题,最终录入的成绩只能是整数,采用直接去掉小数部分的方法。
输入格式
第一行一个整数 n 表示人数。(1≤n≤1000)
第二行共n 个整数,为序列 a ,其中 ai 表示第 i 个人的原始作业得分。(1≤ai≤1000)
输出格式
一行,共 n 个整数,表示经过更新后每个人的得分。
输入输出样例
输入 #1复制
3 1 2 3
输出 #1复制
0 50 100
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
int n;
cin>>n;
int s[1000],temp[1000];
for(int i=0;i<n;i++){
cin>>s[i];
temp[i]=s[i];
}
sort(temp,temp+n);//运用sort函数找出最大和最小值
int min=temp[0],max=temp[n-1];
for(int i=0;i<n;i++){
s[i]=100*(s[i]-min)/(max-min);
}
for(int i=0;i<n;i++){
if(i==0)
printf("%d",s[0]);//控制空格的格式
else
printf(" %d",s[i]);
}
return 0;
}