c语言输入一组整数(可以有重复数据,重复数据算同一个数据),求第二大的值
时间: 2024-06-13 12:09:58 浏览: 66
以下是C语言求第二大的值的代码示例:
```c
#include <stdio.h>
int main() {
int arr[20] = {0}; // 定义一个长度为20的数组,初始化为0
int num, i = 0;
do {
scanf("%d", &num);
if (num != 0) { // 如果输入的数不为0,则将其存入数组中
arr[i] = num;
i++;
}
} while (num != 0 && i < 20); // 当输入的数为0或者数组已满时结束输入
int max = arr[0], secondMax = arr[0]; // 初始化最大值和第二大值为数组的第一个元素
for (int j = 0; j < i; j++) {
if (arr[j] > max) { // 如果当前元素大于最大值,则将最大值赋值为当前元素,并将第二大值赋值为原最大值
secondMax = max;
max = arr[j];
} else if (arr[j] > secondMax && arr[j] != max) { // 如果当前元素大于第二大值且不等于最大值,则将第二大值赋值为当前元素
secondMax = arr[j];
}
}
printf("%d", secondMax); // 输出第二大值
return 0;
}
```
阅读全文