1 条题解

  • 0
    @ 2025-8-24 22:42:59

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Dws_t7760
    AH 在役蒟蒻 OIer || 此时此刻的光辉,盼君勿忘 || 每日一% @Hu_taooo || 最后在线时间:2025年8月24日21时31分

    搬运于2025-08-24 22:42:59,当前版本为作者最后更新于2022-11-09 20:07:48,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    我们首先定义一个数组 aa,记录每个人的原始得分,再定义两个变量 minnminnmaxxmaxx,分别记录原始得分的最大值和最小值。我们可以用公式

    100×aiaminamaxamin100 \times \frac{a_i-a_{min}}{a_{max}-a_{min}}

    来求出每个人的得分。注意最终录入的成绩只能是整数,需要直接去掉小数部分,也就是向下取整。

    AC代码:

    #include<iostream>
    #include<cmath>
    using namespace std;
    int n,a[1000],maxx,minn=10000;
    int main()
    {
    	cin>>n;
    	for(int i=0;i<n;i++) {
    		cin>>a[i];
    		if(a[i]>maxx) maxx=a[i];
    		if(a[i]<minn) minn=a[i];
    	}
    	for(int i=0;i<n;i++) cout<<floor(100.0*(a[i]-minn)/(maxx-minn))<<' ';
    	return 0;
    }
    
    • 1

    信息

    ID
    7348
    时间
    1000ms
    内存
    128MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者