给定 nn 个正整数,输出它们中的第二大的数和第二小的数。代码c++
时间: 2023-02-08 14:25:41 浏览: 321
可以使用以下方法来找到给定正整数数组中的第二大的数和第二小的数:
1. 首先将数组排序。
2. 如果数组的长度大于等于 2,那么第二大的数就是数组的第二个元素,第二小的数就是数组的倒数第二个元素。
3. 如果数组的长度小于 2,那么就没有第二大的数和第二小的数。
以下是 C 语言代码示例:
```
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
printf("请输入正整数的个数:");
scanf("%d", &n);
int a[n];
printf("请输入正整数:");
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 排序
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (a[i] > a[j]) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
if (n >= 2) {
printf("第二大的数是:%d\n", a[1]);
printf("第二小的数是:%d\n", a[n - 2]);
} else {
printf("没有第二大的数和第二小的数\n");
}
return 0;
}
```