给定 nn 个正整数,输出它们中的第二大的数和第二小的数。c++
时间: 2023-02-08 19:46:03 浏览: 431
如果你想在 C 语言中实现这个功能,你可以使用如下的代码:
```
#include <stdio.h>
#include <stdlib.h>
int main() {
int n;
printf("请输入数的个数:");
scanf("%d", &n);
int i;
int min1 = 1000000, min2 = 1000000; // 初始化为极大值
int max1 = -1000000, max2 = -1000000; // 初始化为极小值
for (i = 0; i < n; i++) {
int x;
scanf("%d", &x);
if (x < min1) {
min2 = min1;
min1 = x;
} else if (x < min2) {
min2 = x;
}
if (x > max1) {
max2 = max1;
max1 = x;
} else if (x > max2) {
max2 = x;
}
}
printf("第二大的数是:%d\n", max2);
printf("第二小的数是:%d\n", min2);
return 0;
}
```
其中,我们使用变量 `min1` 和 `min2` 分别记录最小值和第二小值,使用变量 `max1` 和 `max2` 分别记录最大值和第二大值。
在输入每个数时,我们比较它与当前的最小值和最大值,如果它比最小值小,就更新最小值和第二小值;如果它比最大值大,就更新最大值和第二大值。
最后,我们输出第二大的数和第二小的数即可。
阅读全文