这个程序有没有问题?

给定一个长度为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这种形式。

找到最大值,最小值,就可以了, 题主碰到了什么具体问题么?  你可以用各种数据测试一下