题解:P5724 【深基4.习5】求极差 / 最大跨度值 / 最大值和最小值的差

· · 题解

题目の传送门。

在 AFO 的边缘徘徊,看到以前所做的题目开题解区了,特来贡献一篇。

题目分析

题目已经给出了极差的定义即一组数中最大值减去最小值。

那么便只需要遍历这 n 个整数。

找出其中的最大值与最小值。

最后相减得出答案。

找到最大值与最小值的过程相当于打擂台。

以最大值为例,先定义一个变量一开始为其赋值一个极小的数。

在遍历数列中,将第 i 个数与那个变量比对,如果更大则更新变量的值。

如果更大则更新变量的值。

直到完成遍历即可得到最大值。

最小值也是同理(初始化时要赋值一个极大的数,比对是取更小的值)。

这样排版看上去像不像诗

Code

#include<iostream>

using namespace std ;
int a[1005];
int main ()
{
    int n,minn=1005,maxn=-1;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        if(a[i]<minn)//比对出更小的值
        {
            minn=a[i];
        }
        if(a[i]>maxn)//比对更大的值
        {
            maxn=a[i];
        }
    }
    cout<<maxn-minn<<endl;
    return 0;
}

完结撒花。