题目:输入三个整数x,y,z,把这三个数由小到大输出

本文介绍了两种C语言方法来对三个整数进行排序,一种是逐级比较,另一种是通过三轮交换实现。展示了如何在3步内得到x<y<z的顺序,并以实例321为例演示了代码执行结果。

程序分析:

        方式一:先将两个数比较,再将较大值与第三个数比较,得到最大值。然后比较剩余的两个值。最后,将数值以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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值