算法—打擂台法

/*
打擂法:先假定第一个为最大值,然后和后面一个一个比较。
如:打擂台一致,先上一个人,有人挑战则上去,挑战成功则换人接着挑战,直至都挑战完毕为止。
如:首先先假定8位最大,然后和5比,8大,8不变;
和7比,8大,8不变;
和9比,9大,替换成9;
.....
直至最后一个比较即可得出最大值。
最小值则将max<arr[i]改成max>arr[i]即可
*/

 1 #include <stdio.h>
 2 int main()
 3 {
 4     int arr[] = {8,5,7,9,3,46,68,453,32,679,2323,133};
 5     int max = arr[0];
 6     int i = 0;
 7     int inpot;
 8     for(;i<sizeof(arr)/sizeof(int);i++)
 9     {
10         if(max<arr[i])
11         {
12             max = arr[i];
13             inpot = i;
14         }
15     }
16     printf("max=%d,坐标为:%d\n",max,inpot);
17 }
View Code

 

posted @ 2019-06-27 22:54  HOsystem  阅读(2492)  评论(0编辑  收藏  举报