c语言求长度为n的一维数组的极值,并返回极值所在位置。
时间: 2024-09-21 09:12:12 浏览: 67
findpeaks.zip_C++ 数组极值_C++找极值点_findpeaks c_数组极值_极值点
5星 · 资源好评率100%
在C语言中,求长度为n的一维数组的极值并返回其位置,你可以采用遍历数组的方式,同时维护当前找到的最大值(或最小值)及其索引。这里假设你要找出数组中的最大值及其位置,以下是简单的步骤:
1. 初始化两个变量:`max_value`存储初始的最大值,`max_index`存储对应的索引,都设置为数组的第一个元素的下标。
```c
int arr[n], max_index = 0, max_value = arr[0];
```
2. 使用for循环从数组的第二个元素开始遍历,比较每个元素的值:
- 如果当前元素大于`max_value`,则更新`max_value`和`max_index`。
- 否则,保持不变。
```c
for (int i = 1; i < n; i++) {
if (arr[i] > max_value) {
max_value = arr[i];
max_index = i;
}
}
```
3. 遍历结束后,`max_index`就指向了数组中的最大值所在的位置,可以将其作为函数的结果返回。
```c
return max_index;
```
完整的函数示例:
```c
int find_max(int arr[], int n) {
int max_index = 0, max_value = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] > max_value) {
max_value = arr[i];
max_index = i;
}
}
return max_index;
}
```
阅读全文