http://acm.hdu.edu.cn/showproblem.php?pid=2561
第二小整数
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5445 Accepted Submission(s): 3433
Problem Description求n个整数中倒数第二小的数。 每一个整数都独立看成一个数,比如,有三个数分别是1,1,3,那么,第二小的数就是1。 Input输入包含多组测试数据。 输入的第一行是一个整数C,表示有C测试数据; 每组测试数据的第一行是一个整数n,表示本组测试数据有n个整数(2<=n<=10),接着一行是 n个整数 (每个数均小于100); Output请为每组测试数据输出第二小的整数,每组输出占一行。 Sample Input221 231 1 3 Sample Output21 Authoryifenfei Source绍兴托普信息技术职业技术学院——第二届电脑文化节程序设计竞赛 Recommendyifenfei
#include<stdio.h>
int n;
int getmin(int *a)
{
int i,min=,f;
for(i=;i<n;i++)
if(a[i]<min)
{
min=a[i];
f=i;
}
return f;
}
int main()
{
int i,t,a[],k,b[],j,f;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(i=;i<n;i++)
scanf("%d",&a[i]);
f=getmin(a);
j=;
for(i=;i<n;i++)
if(i!=f)
a[j++]=a[i];
k=getmin(b);
printf("%d\n",a[k]);
}
return ;
}