C++题目描述: 输入n个整数,求出其中的最大值和最小值。 输入格式: 共两行,第一行一个整数n,第二行有n个数,以空格分隔。 输出格式: 共两个数,以空格分开。
时间: 2024-11-10 15:26:57 浏览: 28
这是一个经典的C++题目,通常用于基础算法教学中。你可以通过以下步骤解决:
1. **读取输入**:首先,你需要从标准输入读取整数n,然后读取接下来的一行得到包含n个整数的数组。
```cpp
int n;
cin >> n;
int numbers[n];
```
2. **初始化最大值和最小值**:因为还没看到任何数字,初始时将最大值设为第一个数,最小值设为第一个数。
```cpp
int max_value = numbers[0], min_value = numbers[0];
```
3. **遍历数组**:从第二个元素开始遍历数组,更新最大值和最小值。
```cpp
for (int i = 1; i < n; i++) {
cin >> numbers[i];
if (numbers[i] > max_value) {
max_value = numbers[i];
}
if (numbers[i] < min_value) {
min_value = numbers[i];
}
}
```
4. **输出结果**:遍历结束后,输出最大值和最小值。
```cpp
cout << "最大值: " << max_value << " 最小值: " << min_value << endl;
```
完整代码示例:
```cpp
#include <iostream>
int main() {
int n;
std::cin >> n;
int numbers[n];
for (int i = 0; i < n; i++) {
std::cin >> numbers[i];
if (i == 0 || numbers[i] > numbers[i - 1]) {
max_value = numbers[i];
} else if (numbers[i] < numbers[i - 1]) {
min_value = numbers[i];
}
}
std::cout << "最大值: " << max_value << " 最小值: " << min_value << std::endl;
return 0;
}
```
阅读全文