| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 795 人关注过本帖
标题:有个问题
只看楼主 加入收藏
wenxx10
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-8-4
收藏
 问题点数:0 回复次数:7 
有个问题
我今天买了个谭浩强的书来学习 我按照他说的 习题:编写一个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):
}

[[it] 本帖最后由 wenxx10 于 2008-8-4 19:20 编辑 [/it]]
搜索更多相关主题的帖子: 谭浩强 turbo void Welcome main 
2008-08-04 18:31
wenxx10
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-8-4
收藏
得分:0 
顶起来啊
2008-08-04 19:20
wenxx10
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-8-4
收藏
得分:0 
来人解决啊!
2008-08-04 20:35
asd6791868
Rank: 1
来 自:逆流
等 级:新手上路
帖 子:362
专家分:7
注 册:2008-7-27
收藏
得分:0 
这有就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-08-04 20:55
lgbmonkey
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-1-17
收藏
得分:0 
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-08-04 21:13
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
#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-08-04 21:31
wenxx10
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-8-4
收藏
得分:0 
xx 5L的看懂了  6L的和4L的有点看不懂
2008-08-04 22:09
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
呵呵,慢慢理解吧!

编程小菜
2008-08-05 00:32
快速回复:有个问题
数据加载中...
 
   



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

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