首先,我们需要接收键盘的输入,将三个数字存入对应的变量中。为了提高适用性,在这里建议大家使用 double 类型的变量来接收。然后,再进行第一轮比较,以便找出最大数。
比较方法:
1)比较从第一个数开始,先比较第一个数和第二个数的大小,如果第一个数大于第二个数,则将第一个数和第二个数互换;不大于(即等于或小于)则不作处理。
2)然后,再将第二个数和第三个数比较,同样,若大于则将它们互换。
注意:
如果仅是需要找出最大数,只需要进行一轮比较即可;同样的道理,如果只需要找出最小数,也只需要进行一轮比较,只是将上面的大于改成小于即可。
2
如果同时还需要求出最小数和中间数,则还需要进行第二轮比较。我们再从第一个数开始,方法与第一轮一样,只是已经不需要进行第一轮中的第 2)步比较,因为最后的第三个数已经是最大。
第二轮比较方法:
1)比较从第一个数开始,先比较第一个和第二个数的大小,如果第一个数大于第二个数,则将第一个数和第二个数互换。
这样,就分别得到了最小数、中间数和最大数。
如何实现
下面,根据上面的思路来编写 C 语言代码。为了让大家理解起来更容易,我这里采用的是思路最简单的编码方法,而不是代码最精简的方法。同时,我也尽量做到为每句关键的代码都添加相应的注释。
首先,包含相应的头文件 <stdio.h>,并添加一个 main 函数。
随后接收输入的三个数。在此需要注意的是,接收 double 类型的数值时应使用 %lf,而不是 %f。
接收输入的数之后,便可以开始进行第一轮比较。注意,第一轮比较共有两步,第一步是将第一个数与第二个数比较,第二步是将第二个数与第三个数比较。
然后,进行第二轮比较。
5
最后,输出结果。注意,输出时使用 %g 参数的作用是打印小数时不输出末尾的 0,这样更加整洁漂亮些。
参考资料
百度经验.百度[引用时间2018-5-3]
方法步骤如下:
1、首先打开计算机在,在计算机内打开打开vc,然后在vc界面内找到“新建”选项并使用鼠标点击打开。
2、选择win32 console application 并在右侧选择工程的名字和地址,确定。
3、选择一个空工程并使用鼠标点击勾选,然后点击完成选项。
4、再次点击文件-新建选项并使用鼠标点击。
5、选择c++ source file 并在右侧输入文件名字,确定。
6、输入如图所示的代码,这里以abc分别代表三个不同的数,其他需要比较的数只要把abc换成相应的数就可以了。注意代码的输入要在英文输入法的环境下进行。
7、点击右上角的编译运行按钮即可。
#include<stdio.h>
//#include<windows.h>
voidmain()
{
intmax3(inta,intb,intc)
inta,b,c,result
printf("Pleaseenterthreenumber:\n")
scanf("%d,%d,%d",&a,&b,&c)
result=max3(a,b,c)
printf("Themaxofthreenumberis%d:\n",result)
//system("pause")
}
intmax3(inta,intb,intc)
{
intx,z
if(a>b)x=a
elsex=b
if(x>c)z=x
elsez=c
returnz
}
扩展资料
C语言:三个数由小到大排序
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inta,b,c,t//定义4个基本整型变量a,b,c,t
printf("Pleaseinputa,b,c:")
scanf("%d%d%d",&a,&b,&c)
//如果a大于b,借助中间变量t实现a、b值互换;
if(a>c)
{
t=a
a=b
b=t
}
//如果a大于c,借助中间变量t实现a、c值互换;
if(a>c)
{
t=a
a=c
c=t
}
//如果b大于c,借助中间变量t实现b、c值互换;
if(b>c)
{
t=b
b=c
c=t
}
printf("theorderofthenumberis:\n")
printf("%d,%d,%d",a,b,c)//输出a,b,c的值顺序输出;
system("pause")
return0
}