Nth Largest Value

Problem Description
For this problem, you will write a program that prints the Nth largest value in a fixed sized array of integers. To make things simple, N will be 3 and the array will always be have 10 decimal integer values.
 
Input
The first line of input contains a single integer P, (1 ≤ P ≤ 1000), which is the number of data sets that follow. Each data set consists of a single line containing the data set number, followed by a space,followed by 10 space separated decimal integers whose values are between 1 and 1000 inclusive.
 
Output
For each data set, generate one line of output with the following values: The data set number as a decimal integer, a space, and the 3rd largest value of the corresponding 10 integers.
 
Sample Input
4
1 1 2 3 4 5 6 7 8 9 1000
2 338 304 619 95 343 496 489 116 98 127
3 931 240 986 894 826 640 965 833 136 138
4 940 955 364 188 133 254 501 122 768 408
 
Sample Output
1 8
2 489
3 931
4 768
 
 1 #include <stdio.h> 
 2 
 3 int main(){
 4     int T;
 5     int n;
 6     int number;
 7     int i;
 8     int max;
 9     int middle;
10     int min;
11 
12     scanf("%d",&T);
13 
14     while(T--){
15         max=1;     //对最大的三个数进行初始化
16         middle=1;
17         min=1;
18         scanf("%d",&n);
19 
20         for(i=0;i<10;i++){
21             scanf("%d",&number);
22 
23             if(number>max){    //如果找到当前最大的数,舍去最小数
24                 min=middle;
25                 middle=max;
26                 max=number;
27             }
28 
29             else if(number>middle){  //如果找到当前第二大的数,舍去最小数
30                 min=middle;
31                 middle=number;
32             }
33 
34             else if(number>min)    //如果找到当前第三大的数,舍去最小数
35                 min=number;
36         }
37         
38         printf("%d %d
",n,min);
39 
40     }
41     return 0;
42 }
原文地址:https://www.cnblogs.com/zqxLonely/p/4079758.html