C++ 算法题:求整数序列最大值和最小值的差

问题描述:

输出一个整数序列中最大的数和最小的数的差。

输入描述:

第一行为 M,表示整数个数,整数个数不会大于 10000; 第二行为 M 个整数,以空格隔开,每个整数的绝对值不会大于 10000。

输出描述:

输出 M 个数中最大值和最小值的差。

用例输入 1:

5
2 5 7 4 2

用例输出 1:

5

代码实现:

#include <iostream>
#include <vector>
#include <limits>
using namespace std;

int main() {
    int M;
    cin >> M;
    vector<int> nums(M);
    for (int i = 0; i < M; i++) {
        cin >> nums[i];
    }
    
    int max_val = numeric_limits<int>::min();
    int min_val = numeric_limits<int>::max();
    for (int i = 0; i < M; i++) {
        if (nums[i] > max_val) {
            max_val = nums[i];
        }
        if (nums[i] < min_val) {
            min_val = nums[i];
        }
    }
    
    cout << max_val - min_val << endl;
    
    return 0;
}

代码解析:

  1. 使用 vector 存储输入的整数序列。
  2. 初始化 max_val 为最小整数,min_val 为最大整数。
  3. 遍历整数序列,更新 max_valmin_val
  4. 输出 max_valmin_val 的差。

总结:

本题考察对 C++ 语言基本语法和数据结构的理解,以及简单的循环和比较操作。通过这道题,我们可以学习如何使用 vector 存储数据,以及如何使用循环遍历数据并进行比较操作。

C++ 算法题:求整数序列最大值和最小值的差

原文地址: https://www.cveoy.top/t/topic/qfFC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录