【题目描述】
给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。
【输入】
一共2行,第一行为序列的个数n(1 <= n <= 1000),第二行为序列的n个不超过1000的非负整数,整数之间以一个空格分隔。
【输出】
输出一行,表示序列的最大跨度值。
【输入样例】
6
3 0 8 7 5 9
【输出样例】
9
题目分析:
首先思考循环的次数,为n次,然后循环执行的任务是输入这n个数,代码如下
#include<iostream>
#include<cstdio>
using namespace std;
int main() {
int n,a;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a;
}
return 0;
}
题目要求找出最大跨度值,其实也就是找出最大值和最小值,然后相减即可,查找最大值和最小值,采用假设法,用假设的最大值max和最小值min依次和输入的值进行比较,如果输入的值比max大,就把他赋值给max,输入的值
比min小,就把他赋值给min
#include<iostream>
#include<cstdio>
using namespace std;
int main() {
int n,a,max=0,min=1000;//max假设的最大值 min假设的最小值
cin>>n;
for(int i=1;i<=n;i++){
cin>>a;
if(max<a)max=a;
if(min>a)min=a;
}
cout<<max-min;
return 0;
}