Annette_wang 2021-03-12 20:52 采纳率: 84.6%
浏览 24
已结题

这个程序有没有问题?

给定一个长度为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的非负整数,整数之间以一个空格分隔。

输出:
输出一行,表示序列的最大跨度值。

  • 写回答

2条回答 默认 最新

  • 猫叔大鸭梨 2021-03-13 20:02
    关注

    你的min=1000,这个数不作为结果选项的话就有问题,例如n=2, 输入2000、 3000 结果就是3000-1000=2000,出错了。

    又或者你限定输入的值<=min的值。

    实际使用中一般是将min设置为INT_MAX这种形式。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日