使用只提供6头牛的场地,用最快的方式从26头牛选出3头跑的最快的牛。

解题思路:最快的方法就是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个一组分别赋给
   
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值