1.大致写出代码的轮廓
代码语言:javascript复制//代码块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;
那么就需要实现三个变量之间的转换:
三个变量该如何转换呢?
两杯都盛有不同颜色水的杯子,如果想交换两个杯子中的水该如何交换呢?
那么必然需要第三个空杯子
代码语言:javascript复制//代码块2
if (a < b)
t = a;
a = b;
b = t;
在代码块1中加入如上代码块2即可实现a与b的转换,
上面我们比较了a与b的大小,要想实现三个变量之间的转换还需要进行a与c,b与c的比较
3.完整代码展示与调试:
代码语言:javascript复制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
代码运行如下图: