测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A52004. 最大值和最小值的差

填空题 中等

题目描述

最大值和最小值的差

题目描述

输出一个整数序列中最大的数和最小的数的差。

输入

第一行为M,表示整数个数,整数个数不会大于10000;

第二行为M个整数,以空格隔开,每个整数的绝对值不会大于10000。

输出

输出M个数中最大值和最小值的差。

输入样例

5
2 5 7 4 2

输出样例

5

参考答案

#include <bits/stdc++.h> using namespace std; int main() {//已知每个整数的绝对值不会大于10000,据此为mx,mn设置初始值 int mx = -10005, mn = 10005, n, a;//mx:最大值 mn:最小值 cin>>n; for(int i = 0; i < n; ++i)//循环n次,读入数字 { cin>>a; if(a > mx) mx = a; if(a < mn) mn = a; } cout<<mx - mn; return 0; }

答案解析

#include<cstdio>
using namespace std;
int main() {
    int a[10001],m,max=-10001,min=10001;//最小不超过10,001最大不超过10,001。
    scanf("%d",&m);
    for(int i=1; i<=m; ++i) {
        scanf("%d",&a[i]);
        if(a[i]>max) max=a[i];//如果a>max,max=a。
        if(a[i]<min) min=a[i];//如果a<min,min=a。
    }
    printf("%d",max-min);//最后输出max减min。
    return 0;
}


上一题 下一题