程序分析:
方式一:先将两个数比较,再将较大值与第三个数比较,得到最大值。然后比较剩余的两个值。最后,将数值以X<Y<Z的顺序输出。
方式二:将三个数分别两两进行比较,在每一次比较中,将数值的大小按照x<y<z的顺序赋值,经过3次比较调换顺序后,得到x<y<z的顺序。
代码实现:
源代码
方式一:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int x, y, z; //定义输入x,y,z
printf("请输入三个整数:");
scanf("%d %d %d", &x, &y, &z);
if (x < y)
{
if (y < z)
printf("从小到大排序;%d %d %d", x, y, z);
else if (z < x)
printf("从小到大排序;%d %d %d", z, x, y);
else
printf("从小到大排序;%d %d %d", x, z, y);
}
else
{
if (z < y)
printf("从小到大排序;%d %d %d", z, y, x);
else if (z < x)
printf("从小到大排序;%d %d %d", y, z, x);
else
printf("从小到大排序;%d %d %d", y, x, z);
}
return 0;
}
方式二:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int x, y, z, t=0;
printf("请输入三个数字:");
scanf("%d %d %d", &x, &y, &z);
if (x > y) //交换x,y的值
t = x; x = y; y = t;
if (x > z) //交换x,z的值
t = z; z = x; x = t;
if (y > z) //交换z, y的值
t = y; y = z; z = t;
printf("从小到大排序: %d %d %d", x, y, z);
return 0;
}
运行结果:
请输入三个数字:3 2 1
从小到大排序: 1 2 3