c语言求数组中的最大值以及次最大值
时间: 2023-11-17 14:08:16 浏览: 158
可以使用以下代码来求数组中的最大值和次最大值:
```c
#include <stdio.h>
int main() {
int arr[] = {5, 8, 10, 3, 6, 9};
int n = sizeof(arr)/sizeof(arr[0]);
int max = arr[0];
int second_max = arr[0];
for(int i=0; i<n; i++) {
if(arr[i] > max) {
second_max = max;
max = arr[i];
} else if(arr[i] > second_max && arr[i] != max) {
second_max = arr[i];
}
}
printf("最大值是:%d\n", max);
printf("次最大值是:%d\n", second_max);
return 0;
}
```
在这个程序中,我们定义了一个数组 `arr`,并使用 `sizeof` 运算符来计算出数组的长度 `n`。接着,我们使用一个 `for` 循环来遍历数组中的元素,使用两个变量 `max` 和 `second_max` 来记录当前最大值和次最大值。
在循环中,我们首先判断当前元素是否大于 `max`,如果是,则将 `max` 更新为当前元素的值,并将原来的 `max` 值存储到 `second_max` 变量中。如果当前元素不大于 `max`,则判断当前元素是否大于 `second_max` 并且不等于 `max`,如果是,则将 `second_max` 更新为当前元素的值。
最后,我们输出计算出的最大值和次最大值。