首页 > 代码库 > C语言 · 第二大整数

C语言 · 第二大整数

算法提高 第二大整数  
时间限制:1.0s   内存限制:512.0MB
    
问题描述
  编写一个程序,读入一组整数(不超过20个),当用户输入0时,表示输入结束。然后程序将从这组整数中,把第二大的那个整数找出来,并把它打印出来。说明:(1)0表示输入结束,它本身并不计入这组整数中。(2)在这组整数中,既有正数,也可能有负数。(3)这组整数的个数不少于2个。
  输入格式:输入只有一行,包括若干个整数,中间用空格隔开,最后一个整数为0。
  输出格式:输出第二大的那个整数。
  输入输出样例
样例输入
5 8 -12 7 0
样例输出
7
 
 1 #include<stdio.h>
 2 int main(){
 3     int a[20];
 4     int k=0;//数组下标 
 5     int x;
 6     while(~scanf("%d",&x)){
 7         if(x==0)
 8             break;
 9         else
10             a[k++]=x;
11     }
12     /*冒泡降序*/
13     for(int i=0; i<k-1; i++){
14         for(int j=0; j<k-1-i; j++){
15             if(a[j]<a[j+1]){
16                 int t = a[j];
17                 a[j] = a[j+1];
18                 a[j+1] = t;
19             }
20         }
21     }
22     printf("%d",a[1]);
23 }

 

C语言 · 第二大整数