c语言求一个一维数组中第二大的数和第三小的数输出,大神们江湖救急!

时间:374次浏览2020.04.02提问

c语言求一个一维数组中第二大的数和第三小的数输出,大神们江湖救急!

已解决问题

hao231知道平台可亲可爱的匿名用户网友在374次浏览2020.04.02提问提了关于IT技术编程C语言相关的问题,他的提问有知道c语言求一个一维数组中第二大的数和第三小的数输出,大神们江湖救急!IT技术编程C语言希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,你是我的宝贝,你是我的花,谢谢你对我的帮助!

第1个回答

小明院长2020.04.04回答#include<stdio.h>#DEFINESIZE7intmain(){inta[]={56,87,34,63,78,66,31};inti;intmin1,min2,min3;/*按min1<min2<min3排列前3个数*/min1=a[2];min2=a[0];min3=a[1];/*对新的a[i],和min3,min2,min1依次比较*/for(i=3;i<SIZE;i++){if(a[i]<min3){if(a[i]<min2){min3=min2;if(a[i]<min1){min2=min1;min1=a[i];}else{min2=a[i];}}else{min3=a[i];}}}printf("%d\t%d.\n",min2,min3);return0;}

第2个回答

用户7***32020.04.03回答#include<stdio.h>intmain(){intarr[]={56,87,34,63,78,66,31};inti=sizeof(arr)/sizeof(arr[0]);intm,n;for(m=i-1;m>0;m--){for(n=0;n<m;n++){if(arr[n]>arr[n+1]){arr[n]=arr[n]^arr[n+1];arr[n+1]=arr[n]^arr[n+1];arr[n]=arr[n]^arr[n+1];}}}printf("第二大的数为:%d\n第三小的数为:%d\n",arr[2],arr[i-2]);return0;}//先冒泡排个序,想要啥取出啥就行