很简单,依次比较三个数的大小进行排序,最后输出即可。
代码实现:#includeint main() { int x, y, z, t; printf("请输入三个整数:"); scanf_s("%d,%d,%d", &x, &y, &z); if (x > y) { if (x > z) { if (y > z) { printf("%d,%d,%d", z, y, x); }else printf("%d,%d,%d", y, z, x); } //.....没写完,这个写法太麻烦。。。。 } return 0; }
是啊,如果这么写实在是麻烦,那我们应该想一想怎样写才会不重复且很方便解决这个问题!!!
于是,它来了!!!
#includeint main() { int x, y, z, t; printf("请输入您想要排序的三个数字:"); scanf_s("%d,%d,%d", &x, &y, &z); if (x > y) { //交换x,y的值 t = x; x = y; y = t; } if (x > z) { //交换x,z的值 t = x; x = z; z = t; } if (y > z) { //交换z,y的值 t = y; y = z; z = t; } printf("这三个数从小到大依次排序为: %d %d %d", x, y, z); return 0; }
是吧,这样看起来舒服多了!!!
代码分析:这里我们引入了一个中间变量,使得x,y,z能够交换排序。
思考一下:如果我们不引用中间变量能否成功实现这样的效果。应该是可以的。
2022年7月于福建
——暮炊雪



