解题思路:最快的方法就是6次。先分为5组牛,四组6头牛,一组2两头牛,先比四次选出前面四组分别最快的三头牛,将每组第一名与最后那一组两头牛放在一起比一次比第5次可以确定冠军,然后知道冠军是哪个组的,假设冠军是第一组的第一名,那么把第一组的第2和第3名拿出来,把第二名那组的第1和第2拿出来,把第三名那组的第1名拿出来,然后再把那两头牛一组的第一拿出来,则可得出亚军和季军。
#include <stdio.h>
int di1(int *p1);
int di2(int *p2);
int di3(int *p3);
int yajunjijun(int *p4);
int main()
{
int niu[26]={12,78,59,784,34,26,78,98,24,58,125,168,
68,459,76,10,72,35,31,42,47,36,21,16,
135,148};//输入26头牛速度,值越大,速度越快。
int i,j,t;
int a[6],b[6],c[6],d[6],e[2];//定义6个数组,四个数组装6头牛,后面两个数组装2头牛
int a1[3],b1[3],c1[3],d1[3];//定义四个数组用来装上面6头牛的四个数组a,b,c,d中跑前三的牛
int guanjun[6];//该数组里面装上面a1,b1,c1,d1中跑第一的牛和e[0],e[1];
int m[5];//假设a1[0]跑第一,那么这里面装a1[1],a1[2],b1[0],b1[1],c1[0]五头牛,
//亚军和季军就在里面
for(i=0;i<6;i++) //把niu[]数组里面前24个数,既niu[0]-niu[23]每6个一组分别赋给