经典C程序100例(5)

题目:输入三个整数x,y,z,请把这三个数由小到大输出。
分析:和“两个杯子中的水交换一下必须要有另外一个临时的杯子当中介”的情况很接近。除去X、Y、Z以外,还必须有另外一个变量当作临时的容器。在交换X、Y、Z的时候起到“另外一个临时杯子”的作用。代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include	<stdio.h>
 
int	main(void)
{
	int	x;
	int	y;
	int	z;
	int	t;
 
	printf("依次输入,x,y,z");
	scanf("%d %d %d",&x,&y,&z);
 
	if	(x>y)
	{	//交换x,y,让x最小 
		t=x;
		x=y;
		y=t; 
	}
 
	if	(x>z)
	{	//交换x,z,让x最小 
		t=z;
		z=x;
		x=t;	
	}	
 
	if	(y>z)
	{	//交换y,z,让次小 
		t=y;
		y=z;
		z=t;	
	}
 
	printf("从小到大的顺序是 :%d %d %d\n",x,y,z);
	return	0; 
}

标签: , ,

留下回复