给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。
输入
#include<iostream>
using namespace std;
int main()
{
long long n,x,max=0,min=1000;
cin>>n;
for(int i=0;i<n;i++){
cin>>x;
if(x>max)max=x;
if(x<min)min=x;
}
cout<<max-min;
return 0;
}
:
一共2行,第一行为序列的个数n(1 <= n <= 1000),第二行为序列的n个不超过1000的非负整数,整数之间以一个空格分隔。
输出:
输出一行,表示序列的最大跨度值。
你的min=1000,这个数不作为结果选项的话就有问题,例如n=2, 输入2000、 3000 结果就是3000-1000=2000,出错了。
又或者你限定输入的值<=min的值。
实际使用中一般是将min设置为INT_MAX这种形式。
找到最大值,最小值,就可以了, 题主碰到了什么具体问题么? 你可以用各种数据测试一下