算法提高 第二大整数
时间限制: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 }
时间: 2024-10-11 00:07:35