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 Input
2
2
1 2
3
1 1 3
Sample Output
2
1
Author
yifenfei
Source
Recommend
yifenfei
1 #include<stdio.h> 2 int n; 3 int getmin(int *a) 4 { 5 int i,min=200,f; 6 for(i=0;i<n;i++) 7 if(a[i]<min) 8 { 9 min=a[i]; 10 f=i; 11 } 12 return f; 13 } 14 int main() 15 { 16 int i,t,a[20],k,b[20],j,f; 17 scanf("%d",&t); 18 while(t--) 19 { 20 scanf("%d",&n); 21 for(i=0;i<n;i++) 22 scanf("%d",&a[i]); 23 f=getmin(a); 24 j=0; 25 for(i=0;i<n;i++) 26 if(i!=f) 27 a[j++]=a[i]; 28 k=getmin(b); 29 printf("%d ",a[k]); 30 } 31 return 0; 32 } 33 34 35