第二小整数

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
 
 1 #include <stdio.h>
 2 
 3 int main(){
 4     int T;
 5     int n;
 6     int i;
 7     int min;
 8     int min_flag;
 9     int number[11];
10     
11     scanf("%d",&T);
12     
13     while(T--){
14         scanf("%d",&n);
15         
16         for(i=0;i<n;i++){
17             scanf("%d",&number[i]);
18             
19             if(i==0){
20                 min=number[0];
21                 min_flag=0;
22             }
23                 
24             if(number[i]<min){
25                 min=number[i];
26                 min_flag=i;
27             }
28         } 
29         
30         for(i=0;i<n;i++){
31             if(i!=min_flag){
32                 min=number[i];
33                 break;
34             }
35         } 
36         
37         for(i=0;i<n;i++){
38             if(i!=min_flag && number[i]<min)
39                 min=number[i];
40         }
41         
42         printf("%d\n",min);
43     }
44             
45     return 0;
46 }

 

 

posted @ 2014-10-27 20:08  zqxLonely  阅读(280)  评论(0编辑  收藏  举报