题目分析:
很简单,依次比较三个数的大小进行排序,最后输出即可。
代码实现:
#include<stdio.h>int 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);}elseprintf("%d,%d,%d", y, z, x);}//.....没写完,这个写法太麻烦。。。。}return 0;}
是啊,如果这么写实在是麻烦,那我们应该想一想怎样写才会不重复且很方便解决这个问题!!!
于是,它来了!!!
#include <stdio.h>int 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能够交换排序。
思考一下:
如果我们不引用中间变量能否成功实现这样的效果。应该是可以的。
7月于福建
——暮炊雪