这里求解的是一个数组中的最大值和 次最大值,
#include<stdio.h>
main(){
int arr[20];
int i,j,max=0,temp;
for(i=0;i<20;i++)
scanf("%d",&arr[i]);
//直接用冒泡排序最快
for(i=0;i<19;i++){//这里19是外围最多比较次数-是总的次数-1,因为最后一位数组不用排序
for(j=0;j<19-i;j++){//内部比较:比较的次数是开始是除了自己N-1次,然后递减(因为最后一位的位置已经排列好了);所以是N-1-i
if(arr[j]>arr[j+1]){//这里是比较第一个元素和后一个元素。
//这里后面是交换
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
printf("最大值:%d,次大值%d",arr[19],arr[18]);
}
标签:arr,temp,int,最大值,元素,冒泡排序
From: https://www.cnblogs.com/develop-up/p/16748040.html