C语言实现在数组中找到第二大的数
时间: 2023-11-29 15:06:21 浏览: 33
可以使用选择排序或冒泡排序的思想进行实现,以下是选择排序的代码示例:
```c
#include <stdio.h>
int main() {
int arr[] = {3, 5, 1, 4, 2};
int n = sizeof(arr) / sizeof(arr[0]);
int first = arr[0];
int second = arr[0];
for (int i = 0; i < n; i++) {
if (arr[i] > first) {
second = first;
first = arr[i];
}
else if (arr[i] > second && arr[i] != first) {
second = arr[i];
}
}
printf("Second largest element: %d", second);
return 0;
}
```
该程序中,我们首先定义了一个整型数组 `arr`,然后通过 `sizeof` 操作符获取数组的长度。我们定义了两个变量 `first` 和 `second`,分别用来存储最大和第二大的元素。接下来,我们使用一个 for 循环来遍历整个数组,如果当前元素比 `first` 大,那么我们就把 `first` 的值赋给 `second`,并把当前元素的值赋给 `first`。如果当前元素比 `second` 大,但不等于 `first`,那么我们就把当前元素的值赋给 `second`。最后,我们输出 `second` 即可。