目录
1.大致写出代码的轮廓
//代码块1 int main() { int a = 0; int b = 0; int c = 0; int d = 0; scanf("%d %d %d", &a, &b, &c); printf("%d %d %d",a,b,c ); return 0; }
2.逻辑引导
以如上代码为参考,如果想进一步实现从大到小的排列该如何处理呢?
需要比较a,b,c的大小,并将最大值赋给a,将最小值赋给c,剩下的值赋给b;
那么就需要实现三个变量之间的转换:
三个变量该如何转换呢?
两杯都盛有不同颜色水的杯子,如果想交换两个杯子中的水该如何交换呢?
那么必然需要第三个空杯子
编辑
//代码块2 if (a < b) t = a; a = b; b = t;
在代码块1中加入如上代码块2即可实现a与b的转换,
上面我们比较了a与b的大小,要想实现三个变量之间的转换还需要进行a与c,b与c的比较
3.完整代码展示与调试:
int main() { int a = 0; int b = 0; int c = 0; int t = 0; scanf("%d %d %d", &a, &b, &c); if (a < b) { t = a; a = b; b = t; } if (a < c) { t = a; a = c; c = t; } if (b < c) { t = b; b = c; c = t; } printf("%d %d %d",a,b,c ); return 0; }
输入1 2 3
代码运行如下图: