C++ 算法题:求整数序列最大值和最小值的差
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;
}
代码解析:
- 使用
vector存储输入的整数序列。 - 初始化
max_val为最小整数,min_val为最大整数。 - 遍历整数序列,更新
max_val和min_val。 - 输出
max_val和min_val的差。
总结:
本题考察对 C++ 语言基本语法和数据结构的理解,以及简单的循环和比较操作。通过这道题,我们可以学习如何使用 vector 存储数据,以及如何使用循环遍历数据并进行比较操作。
原文地址: https://www.cveoy.top/t/topic/qfFC 著作权归作者所有。请勿转载和采集!