c语言求数组中的最大值以及次最大值
时间: 2023-11-17 09:08:14 浏览: 192
可以使用以下代码来求数组中的最大值和次最大值:
```c
#include <stdio.h>
#define SIZE 10
int main() {
int arr[SIZE] = {5, 3, 10, 8, 7, 2, 9, 4, 6, 1};
int max = arr[0], second_max = arr[1]; // 假设第一个元素为最大值,第二个元素为次最大值
for (int i = 1; i < SIZE; i++) {
if (arr[i] > max) { // 如果当前元素大于最大值
second_max = max; // 将最大值赋给次最大值
max = arr[i]; // 将当前元素赋给最大值
} else if (arr[i] > second_max) { // 如果当前元素大于次最大值
second_max = arr[i]; // 将当前元素赋给次最大值
}
}
printf("最大值为:%d,次最大值为:%d\n", max, second_max);
return 0;
}
```
输出结果为:
```
最大值为:10,次最大值为:9
```
相关问题
C语言求数组中最大值和下标
好的,下面是C语言的代码实现,同样假设您的数组为arr,长度为n:
```c
int max_val = arr[0];
int max_index = 0;
for(int i = 1; i < n; i++){
if(arr[i] > max_val){
max_val = arr[i];
max_index = i;
}
}
printf("最大值为:%d\n", max_val);
printf("最大值下标为:%d\n", max_index);
```
以上代码同样会遍历整个数组,逐个比较找出最大值和对应下标。
用c语言求数组的最大值
以下是求解数组最大值的C语言代码:
```c
#include <stdio.h>
int main() {
int arr[] = {5, 3, 2, 7, 1};
int n = sizeof(arr) / sizeof(arr[0]);
int max = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
printf("数组的最大值为:%d\n", max);
return 0;
}
```
首先,我们定义了一个整型数组 `arr` ,并初始化它的元素。接着,通过 `sizeof` 运算符和数组元素的大小,计算出数组元素的个数 `n` 。然后,我们定义一个变量 `max` 来存储最大值,将其初始化为数组的第一个元素 `arr[0]` 。最后,使用 `for` 循环遍历数组的其他元素,如果发现某个元素大于 `max` ,则更新 `max` 的值。循环结束后,变量 `max` 中存储的就是数组的最大值。