C++ 算法:求n个数的最大值和最小值 (入门)
C++ 算法:求n个数的最大值和最小值 (入门)
问题描述:
任意输入 n 个整数,把它们的最大值和最小值求出来。
输入描述:
输入只有一行,包括一个整数 n (1 <= n <= 20),后面跟着 n 个数。每个数的范围在 0 到 32767 之间。
输出描述:
输出只有一行,包括 2 个整数,分别代表最大值和最小值。
示例输入 1:
5 1 99 3 6 0
示例输出 1:
99 0
代码实现:
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
int n;
std::cin >> n;
std::vector<int> nums(n);
for (int i = 0; i < n; i++) {
std::cin >> nums[i];
}
int maxNum = *std::max_element(nums.begin(), nums.end());
int minNum = *std::min_element(nums.begin(), nums.end());
std::cout << maxNum << ' ' << minNum << std::endl;
return 0;
}
代码解析:
- 头文件: 代码中包含了三个头文件:
iostream用于输入输出操作;vector用于使用动态数组;algorithm用于使用max_element和min_element算法。 - 输入: 代码首先读取整数 n,然后使用
std::vector创建一个大小为 n 的数组nums,并将输入的 n 个整数存储在数组中。 - 求最大值和最小值: 代码使用
std::max_element(nums.begin(), nums.end())和std::min_element(nums.begin(), nums.end())算法分别找到数组nums中的最大值和最小值。 - 输出: 代码将最大值和最小值输出到控制台。
总结:
本代码演示了使用 C++ 算法库中的 max_element 和 min_element 函数来高效地找到数组中的最大值和最小值。这是解决类似问题的一种简单而常见的方法。
其他方法:
除了使用算法库,你也可以使用循环来遍历数组并手动比较每个元素,从而找到最大值和最小值。但是,使用算法库通常更简洁、高效。
学习建议:
- 尝试理解代码中每个部分的作用。
- 尝试修改代码,例如:
- 将输入改为从文件中读取。
- 使用循环实现最大值和最小值的查找。
- 添加错误处理,例如当输入的 n 不合法时,如何处理。
- 学习更多 C++ 算法库中的函数,例如
sort、find等。
原文地址: https://www.cveoy.top/t/topic/qldn 著作权归作者所有。请勿转载和采集!