| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3561 人关注过本帖
标题:求中间数
只看楼主 加入收藏
yjj598889481
Rank: 1
等 级:新手上路
帖 子:57
专家分:2
注 册:2011-4-4
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:9 
求中间数
三个数  
int x, int y, int z;
怎么用代码比较找出
t=中间值??
2011-04-13 22:31
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:1 
程序代码:
int m[3]={x,y,z},t;

for(i=0;i<2;i++)
  for(j=i+1;j<3;j++)
   {
    if(m[i]>m[j])
    {
      t=m[i];
      m[i]=m[j];
      m[j]=t;
    }
  }
t=m[1]; //先排序后选中间的一个,好理解吧!后面的人会有更好的办法!   


[ 本帖最后由 qq1023569223 于 2011-4-14 00:08 编辑 ]

   唯实惟新 至诚致志
2011-04-13 23:23
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6814
专家分:42393
注 册:2010-12-16
收藏
得分:1 
// 先从大到小排序 ,取中间数就行了
int GetMid(int x,int y, int z)
{
   int nTemp = 0;
   if (x < y) {
       nTemp = x;
       x = y;
       y = nTemp;
   }
 
   if (x < z) {
       nTemp = x;
       x = z;
       z = nTemp;
   }

   if (y < z) {
       nTemp = y;
       y = nTemp;
       z = nTemp ;
   }

   return  y;
}

void main()
{
    // x y z ??
    int t = GetMid(x,y,z);
}

[ 本帖最后由 yuccn 于 2011-4-13 23:30 编辑 ]

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2011-04-13 23:28
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:1 
学习。。。

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-13 23:37
Romantic8121
Rank: 2
等 级:论坛游民
帖 子:50
专家分:21
注 册:2011-4-11
收藏
得分:1 
简单的冒泡排序吧
2011-04-13 23:56
默默学习
Rank: 4
等 级:业余侠客
帖 子:134
专家分:200
注 册:2010-6-22
收藏
得分:1 
if( x>y && x<z)
else if(y>x && y<z)
else if(z>y && z<x)
这样就行拉,希望对你有帮助!
2011-04-14 00:01
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6814
专家分:42393
注 册:2010-12-16
收藏
得分:0 
回复 6楼 默默学习

if( x>y && x<z)
else if(y>x && y<z)
else if(z>y && z<x)


这样不行,不是你想象的简单:比如 x y z 分别等于:3 2 1,哪么你的每一条语句都不会执行。
如果你要那样写的话,那只能这样了:
if(( x>y && x<z) ||  (x>z && x<y))
else if((y>x && y<z) || (y>z && y<x))
else if((z>y && z<x) || (z>x && z<y))


[ 本帖最后由 yuccn 于 2011-4-14 07:36 编辑 ]

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2011-04-14 07:33
yjj598889481
Rank: 1
等 级:新手上路
帖 子:57
专家分:2
注 册:2011-4-4
收藏
得分:0 
回复 7楼 yuccn
谢谢哦~~~
2011-04-14 21:35
默默学习
Rank: 4
等 级:业余侠客
帖 子:134
专家分:200
注 册:2010-6-22
收藏
得分:0 
回复 7楼 yuccn
呵呵,多谢提醒!
我忘了,"与"运算若不成立不执行后面的。这样会有判断上的错误,不够全面!谢谢了!
2011-04-14 22:27
那又怎样
Rank: 2
等 级:论坛游民
帖 子:22
专家分:58
注 册:2011-4-11
收藏
得分:1 
int max=x>y?x:y;
int min=x<y?x:y;
if(max<z)
  t=max;
else
  t=min>z?min:z;
2011-04-14 22:27
快速回复:求中间数
数据加载中...
 
   



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

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