HDU - 2561 第二小整数

Description

求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>

int a[105];

int main()
{
    int n, m;
    int temp, t;
    
    scanf("%d", &n);
    while (n--){
        scanf("%d", &m);
        for (int i = 0; i < m; i++)
            scanf("%d", &a[i]);
        for (int i = 0; i < 2; i++){
            t = i;
            for (int j = i + 1; j < m; j++)
                if (a[j] <= a[t])
                    t = j;
            temp = a[t];
            a[t] = a[i];
            a[i] = temp;
        }
        printf("%d\n", a[1]);
    }
    return 0;
}
发布了339 篇原创文章 · 获赞 351 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/Aibiabcheng/article/details/105353591