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的值,而不是比较大小后的值呢???
展开
 我来答
刘世媛aa
高粉答主

2018-05-29 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:351
采纳率:100%
帮助的人:11.4万
展开全部
  • 首先,我们需要接收键盘的输入,将三个数字存入对应的变量中。为了提高适用性,在这里建议大家使用 double 类型的变量来接收。然后,再进行第一轮比较,以便找出最大数。

    比较方法:

    1)比较从第一个数开始,先比较第一个数和第二个数的大小,如果第一个数大于第二个数,则将第一个数和第二个数互换;不大于(即等于或小于)则不作处理。

    2)然后,再将第二个数和第三个数比较,同样,若大于则将它们互换。

    注意:

    如果仅是需要找出最大数,只需要进行一轮比较即可;同样的道理,如果只需要找出最小数,也只需要进行一轮比较,只是将上面的大于改成小于即可。

  • 2

    如果同时还需要求出最小数和中间数,则还需要进行第二轮比较。我们再从第一个数开始,方法与第一轮一样,只是已经不需要进行第一轮中的第 2)步比较,因为最后的第三个数已经是最大。

    第二轮比较方法:

    1)比较从第一个数开始,先比较第一个和第二个数的大小,如果第一个数大于第二个数,则将第一个数和第二个数互换。

    这样,就分别得到了最小数、中间数和最大数。

  • 如何实现

  • 下面,根据上面的思路来编写 C 语言代码。为了让大家理解起来更容易,我这里采用的是思路最简单的编码方法,而不是代码最精简的方法。同时,我也尽量做到为每句关键的代码都添加相应的注释。

    首先,包含相应的头文件 <stdio.h>,并添加一个 main 函数。

  • 随后接收输入的三个数。在此需要注意的是,接收 double 类型的数值时应使用 %lf,而不是 %f。

  • 接收输入的数之后,便可以开始进行第一轮比较。注意,第一轮比较共有两步,第一步是将第一个数与第二个数比较,第二步是将第二个数与第三个数比较。

  • 然后,进行第二轮比较。

  • 5

    最后,输出结果。注意,输出时使用 %g 参数的作用是打印小数时不输出末尾的 0,这样更加整洁漂亮些。

参考资料

百度经验.百度[引用时间2018-5-3]

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式