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;
}
上一题
下一题