找出一批整数中的最大数和第二大的数
题目虽然简单但是当初还是烦了不少错误。
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 }
浙公网安备 33010602011771号