1、交换数组中的元素,按从小到大排序
2、扫描一遍数组,里面用多个if条件语句得到max2
#include<stdio.h> int main(void) { int arr[]= {2,5,4,7,9,12,4}; int count=sizeof(arr)/sizeof(arr[0]); //printf("%d",count);count计算数组元素的个数 //1)数组内部元素排序 /*for(int i=0;i<count;i++){ if(arr[i]>arr[i+1]){ int temp=arr[i+1]; arr[i+1]=arr[i]; arr[i]=temp; } } printf("%d",arr[count-2]);*/ int max1=arr[0]; int temp; //2)通过if语句实现 for(int i=0; i<count; i++) { if(arr[i]>=max1) { temp=max1;//int temp等于max1的前一个值,即第二大的数max2 max1=arr[i]; } //还要考虑第一个元素为最大值的情况 else if(temp==max1) { temp=arr[1]; if(arr[i+1]>temp) temp=arr[i+1]; } } printf(" max1=%d",max1); printf("\n"); printf(" max2=%d",temp); return 0; }