输入一个数值n,确定一维数组的长度。接着输入n个整数后,返回其中的最大值以及所在位置,输出结果以空格隔开。以C++语言写出
时间: 2024-09-27 16:13:15 浏览: 31
在C++中,你可以使用标准库中的`vector`容器和遍历算法来解决这个问题。首先,创建一个函数`findMaxAndIndex`接收一个整数n作为参数,并创建一个动态大小的一维数组。然后,读取用户输入的n个整数并更新最大值及其索引。最后,打印出最大值和对应的索引。以下是相关的C++代码:
```cpp
#include <iostream>
#include <vector>
std::pair<int, int> findMaxAndIndex(int n) {
std::vector<int> arr(n);
int max_value = arr[0], index = 0;
// 从第一个元素开始比较
for (int i = 1; i < n; ++i) {
int input;
std::cin >> input;
arr[i] = input;
if (input > max_value) {
max_value = input;
index = i;
}
}
return {max_value, index};
}
int main() {
int n;
std::cout << "Enter the length of the array: ";
std::cin >> n;
std::pair<int, int> result = findMaxAndIndex(n);
std::cout << "The maximum value is " << result.first << " and its position is " << result.second << ".\n";
return 0;
}
```
阅读全文