| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 282 人关注过本帖
标题:有个问题
收藏  订阅  推荐  打印
wenxx10
Rank: 1
等级:新手上路
帖子:33
积分:458
注册:2008-8-4
有个问题

我今天买了个谭浩强的书来学习 我按照他说的 习题:编写一个C程序,输入a.b.c 3个值,输出其中最大者.
我是这么写的 可是 运行的时候 输入的三个数里  输出的不是最大的而是中间的数  大家帮我找找错 我是 照葫芦画瓢
#include<stdio.h>
void main()
{
  int max(int x,int y,int z);
  int a, b, c, d;
  scanf("%d,%d,%d",&a,&b,&c);
  d=max(a,b,c);
  printf("max=%d\n",d);
}


int max(int x,int y,int z)
{
  int w;
  if(x>y>z) w=x;
  else w=y;
  return(w):
}

[ 本帖最后由 wenxx10 于 2008-8-4 19:20 编辑 ]
2008-8-4 18:31
wenxx10
Rank: 1
等级:新手上路
帖子:33
积分:458
注册:2008-8-4

顶起来啊
2008-8-4 19:20
wenxx10
Rank: 1
等级:新手上路
帖子:33
积分:458
注册:2008-8-4

来人解决啊!
2008-8-4 20:35
asd6791868
Rank: 2
来自:逆流
等级:注册会员
帖子:126
积分:1416
注册:2008-7-27
这有就OK了

#include<stdio.h>
void main()
{
  int max(int x,int y,int z);
  int a, b, c, d;
  scanf("%d,%d,%d",&a,&b,&c);
  d=max(a,b,c);
  printf("max=%d\n",d);
}


int max(int x,int y,int z)
{
  int w;
  w=(x>y?x:y)>z?(x>y?x:y):z;
  return(w);
}
2008-8-4 20:55
lgbmonkey
Rank: 1
等级:新手上路
帖子:1
积分:116
注册:2007-1-17

if(x>y>z) w=x;
  else w=y;
这句话是有错误的,比如x=1 y=2 z=3 那么呢是不符合x>y>z条件的,所以它会跳到else下面去就会执行w=y,那么会得出max=y即max=2不是输出最大的值。
当然当你的x是最大值时就会那结果就正确了,如x=3,y=2,z=1时,是正确的。
#include<stdio.h>
void main()
{
  int max(int x,int y,int z);
  int a, b, c, d;
  scanf("%d,%d,%d",&a,&b,&c);
  d=max(a,b,c);
  printf("max=%d\n",d);
}


int max(int x,int y,int z)
{
  int w;
  if(x>y&&x>z) w=x;
  if(y>x&&y>z) w=y;
  if(z>x&&z>y) w=z;
  return(w);
}
这样就可以了,当然方法很多。
2008-8-4 21:13
独孤小梦
Rank: 3Rank: 3
等级:中级会员
帖子:255
积分:2958
注册:2008-6-5

#include<stdio.h>
void main()
{
    int max(int x,int y,int z);
    int a, b, c, d;
    scanf("%d%d%d",&a,&b,&c);
    d=max(a,b,c);
    printf("max=%d\n",d);
}

int max(int x,int y,int z)
{
  int w;
  if(x>y)
      if(x>z)
          w=x;
      else
          w=z;
      else
          if(y>z)
              w=y;
          else
              w=z;
  return(w);
}

这样就对了!

编程小菜
2008-8-4 21:31
wenxx10
Rank: 1
等级:新手上路
帖子:33
积分:458
注册:2008-8-4

xx 5L的看懂了  6L的和4L的有点看不懂
2008-8-4 22:09
独孤小梦
Rank: 3Rank: 3
等级:中级会员
帖子:255
积分:2958
注册:2008-6-5

呵呵,慢慢理解吧!

编程小菜
2008-8-5 00:32
共有 281 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.049380 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved