小韦老师@神犇营-my0118-最大跨度值

小韦老师@神犇营-my0118-最大跨度值

题目:

描述

给定一个长度为 n 的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值 - 最小值)。

输入

一共 2 行,第一行为序列的个数 n(1 ≤ n ≤ 1000)。

第二行为序列的 n 个不超过 1000 的非负整数,整数之间以一个空格分隔。

输出

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

输入样例1

6
3 0 8 7 5 9

输出样例1

9
思路:

整体思路:
找到这 n 个数的最大值,最小值,最大值减去最小值即为最大跨度值。
具体步骤:
1.定义 n,并输入 n。
2.定义一个 int 型的变量 Max 用来记录最大值,并且初始化为 -1。
3.定义一个 int 型的变量 Min 用来记录最小值,并且初始化为 1010。
4.定义一个 int 型的变量 x,用来接收输入的整数。
5.用 for 循环将 n 个整数输入,并且将对每个数判断,判断是否比现在
最大的数还大,若是,它就是现在最大的数了。对每个数判断判断是否比
现在最小的数还小,若是,它就是现在最小的数了。

    // n 个不大于 1000 的非负整数 
    // 挨个看,从第一个数,看到第 n 个
    for (int i = 1; i <= n; i++) {  // 进行 n 次操作 
        cin >> x;  // 输入第 i 个整数
        // 对每个数判断
        // 判断是否比现在最大的数还大,若是,它就是现在最大的数了
        if (x > Max) {
            Max = x;
        } 
        // 对每个数判断
        // 判断是否比现在最小的数还小,若是,它就是现在最小的数了
        if (x < Min) {
            Min = x;
        }
    }

6.输出最大跨度值:

    cout << Max - Min;

思考:
1°为什么 Max 要初始化为 -1?可以初始化为其他值麽?若可以,可以初始
化为哪些值?可以不初始化麽?
2°为什么 Min 要初始化为 1010?可以初始化为其他值麽?若可以,可以初始

完整代码:
#include <bits/stdc++.h>

using namespace std;

int main() {

	int n;
	cin >> n;
	int Max = -1;  // 保存到现在为止的最大值 
	int Min = 1010;  // 保存到现在为止的最小值 
	int x;  // 用来接收输入的整数 
	// n 个不大于 1000 的非负整数 
	// 挨个看,从第一个数,看到第 n 个
	for (int i = 1; i <= n; i++) {  // 进行 n 次操作 
		cin >> x;  // 输入第 i 个整数
		// 对每个数判断
		// 判断是否比现在最大的数还大,若是,它就是现在最大的数了
		if (x > Max) {
			Max = x;
		} 
		// 对每个数判断
		// 判断是否比现在最小的数还小,若是,它就是现在最小的数了
		if (x < Min) {
			Min = x;
		}
	}
	// 输出最大跨度值 
	cout << Max - Min;
	
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值