C语言中,怎么比较三个数的大小??

请给我详细讲解一下

比较方法:
1、比较从第一个数开始,先比较第一个数和第二个数的大小,如果第一个数大于第二个数,则将第一个数和第二个数互换;不大于(即等于或小于)则不作处理。
2、然后,再将第二个数和第三个数比较,同样,若大于则将它们互换。
以1
2
3为例
先考虑我们所有的可能输入类型(这里不一一列举):1
2
3;3
2
1
;2
1
3;1
1
1;1
2
2;1
2
1;整体的思路为输入三个数后,我们从中取两个数,在这两个数中选出最大的后将最大的数与第三个数做差比较这里请参考代码理解;
代码:
#include<stdio.h>
int
comp(int
x,int
y)
{
return
x>y?x:y;
}
int
main()
{
int
i,j,k;
int
a,b,c;
scanf("%d
%d
%d",&a,&b,&c);
j=comp(a,b);//j为两个数里最大的值
k=c;//a+b-j求的是a,b里比较小的那个数;
if(j-k<0){printf("%d
%d
%d",k,j,a+b-j);return
0;}
//说明K最大按顺序输出就可以了1
2
3;2
2
3
if(j-k>=a+b-j){printf("%d
%d
%d",j,a+b-j,k);return
0;}//3
2
1
if(j-k<a+b-j){printf("%d
%d
%d",j,k,a+b-j);return
0;}//
3
2
3
}
总结:
其实这个代码本质也和用if语句比较大小排序差不多,只不过这里不需要每次都调用三个if语句,直接一条if语句便可输出答案效率更高一点。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-12
输入三个整数x,y,z,请把这三个数由小到大输出。
1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,
然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
2.程序源代码:
main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if (x>y)
{t=x;x=y;y=t;} /*交换x,y的值*/
if(x>z)
{t=z;z=x;x=t;}/*交换x,z的值*/
if(y>z)
{t=y;y=z;z=t;}/*交换z,y的值*/
printf("small to big: %d %d %dn",x,y,z);
}本回答被提问者采纳
第2个回答  2019-02-02
#include<stdio.h>
/*
这才是三个数的比较*/
int
main()
{
float
a,
b,
c;
float
d=0;
float
e=0;
float
max=0;
printf("输入三个数字\n");
scanf_s("%f\n%f\n%f",&a,&b,&c);
if(d=a>b?a:b)
if(e=b>c?b:c)
if(max=d>e?d:e)
printf("三个数的最大值是:%f\n",max);
//三个数的最大值是MAX
希望给我一个赞~!~!这个比较严谨
system("pause");
return
0;
}
第3个回答  2020-03-13
#
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个数比较
}
第4个回答  2020-03-15
/*
//三个数比较大小
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);*/

C语言怎样比较3个数大小?
在C语言中,比较abc三个数的大小可以通过多个方法实现,详细解释如下:1、逻辑比较:该程序首先对a、b和c进行逻辑比较,使用大于(>)操作符来比较两个数的大小。在逻辑比较中,只有两个数进行比较,如果第一个数大于第二个数,表达式返回true,否则返回false。2、条件语句:然后使用if-else语句来确定...

三个数比大小的c语言程序
Max = a if (Max <= c)printf("%d",c);else 含义 输入三个数(空格隔开),先比较前两个数大小,将较大的数赋值给Max,再比较Max与第三个数大小,输出较大的数。输入三个数,判断前两个数,将的数赋值给max_ab,小的数赋值给min_ab,再将max_ab与c作比较。若c大于等于max_ab,则输...

用c语言数组比较三个数的大小?
max=c>max?c:max;printf("Max is %d",max);

C语言如何比较三个数字的大小
1、首先新建一个文本文件,改名为1.c(后缀必须为.c),双击即可直接用开发工具打开 2、然后编写main函数,main函数中主要是对比较函数的调用和输出结果 3、最后编写比较函数,在设计时,传入三个参数,返回一个最大值,分析如下:有三个数a,b,c,如果a大于等于b,则比较a是否大于等于c,如果a大于等...

C语言程序设计中如何比较三个数的大小
1、首先打开计算机在,在计算机内打开打开vc,然后在vc界面内找到“新建”选项并使用鼠标点击打开。2、选择win32 console application 并在右侧选择工程的名字和地址,确定。3、选择一个空工程并使用鼠标点击勾选,然后点击完成选项。4、再次点击文件-新建选项并使用鼠标点击。5、选择c++ source file 并在...

c语言怎么求出三个数中哪一个最大?
传统的流程图如下:流程的解释:对abc三个数进行大小的比较,总共需要比较三次;1、首先输入a,b,c三个数。2、比较a,b两个数,得出a与b中的最大值。3、然后比较b与c两个数,得出b与c的最大值。4、最后将第2步与第3步得出的最大值进行比较,得出我们需要的最大数。

c语言 比较三个数大小
1)比较从第一个数开始,先比较第一个和第二个数的大小,如果第一个数大于第二个数,则将第一个数和第二个数互换。这样,就分别得到了最小数、中间数和最大数。如何实现 下面,根据上面的思路来编写C语言代码。为了让大家理解起来更容易,我这里采用的是思路最简单的编码方法,而不是代码最精简的...

C语言程序设计中如何比较三个数的大小
思路:比较三个数的大小可以先求出最大值和最小值,这样中间数就是三个数的和减去最大数和最小数。参考代码:include <stdio.h> int main(){ int a,b,c,max,min; scanf("%d%d%d",&a,&b,&c); max=(a>b?a:b)>c?(a>b?a:b):c; min=(a<b?a:b)<c?(a...

c语言怎么实现三个数字比大小
1、首先是鼠标选择单击C语言编程软件创建一个空的C语言文件。2、定义四个整数变量a,b,c,max。三个变量a,b和c用于存储输入的三个数字,max用于存储三个数字的最大值。3、使用scanf语句从键盘输入三个数字。在注意之前不要忘记使用变量。4、使用max可以逐个比较三个数字,并将最大数量存储在最大...

c语言 比较三个数大小
比较方法:1、比较从第一个数开始,先比较第一个数和第二个数的大小,如果第一个数大于第二个数,则将第一个数和第二个数互换;不大于(即等于或小于)则不作处理。2、然后,再将第二个数和第三个数比较,同样,若大于则将它们互换。以1 2 3为例 先考虑我们所有的可能输入类型(这里不一一...

相似回答