| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1230 人关注过本帖
标题:请各位帮一下忙:给定n个数,在最坏情况下用╔ 3n/2-2 ╕次比较找出这n个数 ...
只看楼主 加入收藏
朦胧美
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-10-9
收藏
 问题点数:0 回复次数:1 
请各位帮一下忙:给定n个数,在最坏情况下用╔ 3n/2-2 ╕次比较找出这n个数中元素的最大值和最小值。
#include<stdio.h>
void maxmin(int a[],int low,int high,int *max,int *min)
{
 int mid,hmax,hmin,gmax,gmin;
 if(low==high)
 {*max=a[low];
 *min=a[low];
 return;
 }
 if(low==high-1)
  if(a[low]>a[high])
  {*max=a[low];
  *min=a[high];
  return;
  }
  else
  {*max=a[high];
  *min=a[low];
  return;
  }
 else
 {
  mid=(low+high)/2;
  maxmin(low,mid,&gmax,&gmin);
  maxmin(mid+1,high,&hmax,&hmin);
  *max=gmax>hmax? gmax:hmax;
  *min=gmin<hmin? gmin:hmin;
 }
}
int main()
{
    int max,min,k,a[200];
    int m;
    while(scanf("%d",&k)&&k)
    {
        for(m=0;m<k;m++)
            scanf("%d",&a[m]);
        maxmin(a,0,k-1,&max,&min);
        printf("%d %d\n",max,min);
   
    }
   
}
要求:包含多组测试数据。每组测试数据的第一个元素是整数的个数n,接下来是n个整数。0表示结束。 n<=200

搜索更多相关主题的帖子: include return 最大值 元素 
2011-10-20 11:19
Sunxitong
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-10-29
收藏
得分:0 
maxmin(a,low,mid,&gmax,&gmin);
maxmin(a,mid+1,high,&hmax,&hmin);
就这里少个a,void maxmin(int a[],int low,int high,int *max,int *min) 就这样递归调用 , 我刚才把这里加上a就AC了
2012-10-29 20:14
快速回复:请各位帮一下忙:给定n个数,在最坏情况下用╔ 3n/2-2 ╕次比较找出这 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044966 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved