题目描述
输入n个成绩,换行输出n个成绩中最高分数和最低分数的差。

输入描述:
两行,第一行为n,表示n个成绩,不会大于10000。
第二行为n个成绩(整数表示,范围0~100),以空格隔开。

输出描述:
一行,输出n个成绩中最高分数和最低分数的差。

解题思路
利用一个一维数组存储输入的n个数字,然后通过对比找到最大最小值,输出他们之差。

代码

#include<iostream>

using namespace std;

int main()
{
    int n;
    cin>>n;
    int a[n+1];//放置索引越界,将数组定义的大一些
    int max=0,min=100;//先定义最小和最大,后面通过比较不断改变最小值和最大值
    for(int i=0;i<n;++i)
    {
        cin>>a[i];
        if(max<a[i])
            max=a[i];//存在元素比max大,则max等于它
        if(min>a[i])
            min=a[i];//存在元素比min小,则min等于它
    }
    cout<<max-min<<endl;//遍历完整个数组就得到了最大值和最小值。输出他们的差值
    return 0;
}