版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39216184/article/details/82799111
求n个整数中倒数第二小的数。
每一个整数都独立看成一个数,比如,有三个数分别是1,1,3,那么,第二小的数就是1。
Input
输入包含多组测试数据。
输入的第一行是一个整数C,表示有C测试数据;
每组测试数据的第一行是一个整数n,表示本组测试数据有n个整数(2<=n<=10),接着一行是 n个整数 (每个数均小于100);
Output
请为每组测试数据输出第二小的整数,每组输出占一行。
Sample Input
2 2 1 2 3 1 1 3
Sample Output
2 1
#include <stdio.h>
#include <stdlib.h>
//using namespace std;
int cmp(const void* a, const void* b)
{
return *(int*)a - *(int*)b;
}
int main(void)
{
int n;
scanf("%d", &n);
int number[10] = {0};
int i;
while(n--)
{
int num, temp;
scanf("%d", &num);
for(i = 0; i < num; i++)
scanf("%d", &number[i]);
qsort(number, num, sizeof(int), cmp);
printf("%d\n", number[1]);
}
return 0;
}