题目:输入三个整数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; } |
