找出一批整数中的最大数和第二大的数

题目虽然简单但是当初还是烦了不少错误。

 1 #include <stdio.h>
 2 int main()
 3 {
 4     int a,b,n;
 5     a = b = 0;
 6     while(scanf("%d",&n) != EOF)
 7     {
 8         if(n > a)
 9         {
10             b = a;
11             a = n;
12         }
13         else if(n < a && n > b)
14         {
15             b = n;
16         }
17     }
18 
19     printf("%d %d\n",a,b);
20 
21 
22     return 0;
23 }

 又改了一点,写了一个找出一批整数中的最大数、第二大的数和第三大的数。其它找最大的整数的情况以此类推。

 1 #include <stdio.h>
 2 void Max2()                                              // 最大的两位
 3 {
 4     int a,b,n;
 5     a = b = 0;
 6     while(scanf("%d",&n) != EOF)
 7     {
 8         if(n > a)
 9         {
10             b = a;
11             a = n;
12         }
13         else if(n < a && n > b)
14         {
15             b = n;
16         }
17     }
18 
19     printf("%d %d\n",a,b);
20 
21 }
22 void Max3()                                                    //最大的三位
23 {
24     int a,b,c,n;
25     a = b = c = 0;
26     while(scanf("%d",&n) != EOF)
27     {
28         if(n > a)
29         {
30             c = b;
31             b = a;
32             a = n;
33         }
34         else if(n < a && n > b)
35         {
36             c = b;
37             b = n;
38         }
39         else if (n < b && n > c)
40         {
41             c = n;
42         }
43     }
44 
45     printf("%d %d %d\n",a,b,c);
46 
47 }
48 //其它的以此类推
49 
50 int main()
51 {
52     Max2();
53     Max3();
54 
55     return 0;
56 }

 

 

posted @ 2012-12-27 16:04  牧童不吃蛋炒饭  阅读(264)  评论(0)    收藏  举报