c语言 比较三个数大小

#include<stdio.h>voidmain(){intmax(intx,inty,intz);inta,b,c,d;scanf("%d,%d,%d",&a,&b,... # 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 m,int n;
if(x>y) m = x;
else m = y;
if(m>z) n = m;
else n = z;
return(n);
}

为什么最后输出的是a的值,而不是比较大小后的值呢???
展开
 我来答
zzhou909
2013-03-11
知道答主
回答量:9
采纳率:0%
帮助的人:1.2万
展开全部
# include<stdio.h>
int main()
{
int max(int x ,int y ,int z);
int a, b, c, e ;
scanf("%d , %d, %d",&a,&b,&c);
e = max (a, b , c);
printf("max=%d\n",e);
return 0 ;
}
int max(int x ,int y ,int z)
{
int f,m ;
if(x>y) f=x; //如果x大于y,把X的值赋给f
else f = y; //否则,把Y的值给f
if(f>z) m=f; //再把f的值与z比较,如果大于z,把f的值赋给m,并返回m
else m = z; //否则,f比z小,把z值赋给m
return(m); //整体思路就是先对2个数比较大小,再和第3个数比较
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-01
展开全部
你这由于只有三个数字,所以还是很简单的,完全可以用傻瓜的方法
if(a>=b&&a>=c)
printf("%d",a);

if(b>=a&&b>=c)
printf("%d",b);

if(c>=a&&c>=b)
printf("%d",c);
反而比排序算法执行效率高
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
276588572
2012-09-24
知道答主
回答量:3
采纳率:0%
帮助的人:4849
展开全部
/* //三个数比较大小
int x,y,z,q,w;
printf("请输入三个要比较的整数:");
scanf("%d %d %d",&x,&y,&z);
if (x>y) {
q=x;
}
else
{
q=y;
}
if (q>z) {
w=q;
}
else
{
w=z;
}
printf("三数中最大的为:%d",w);*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓝兔小童鞋
2016-01-27 · TA获得超过817个赞
知道答主
回答量:95
采纳率:100%
帮助的人:10.8万
展开全部
  #include <stdio.h>
  int main()
  {
  int t,a,b,c;
  scanf("%d%d%d",&a,&b,&c);
  if(a<b)
  {
  t=a,a=b,b=t;
  }
  if(a<c)
  {
  t=a,a=c,c=t;
  }
  if(b<c)
  {
  t=b, b=c, c=t;
  }
  printf("%d %d %d\n",c,b,a);
  return 0;
  }
  原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,最后就输出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-01
展开全部
#include <stdio.h>
int main(){int a,b,c;<br/>scanf("%d%d%d",&a,&b,&c);<br/>printf("%d", a>b?a:(b>c?b:c));<br/>return 0;<br/>}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式