写代码将三个整数数按从大到小输出。
例如:
输入:2 3 1
输出:3 2 1
针对这类问题,我们都可以归类为换位问题。
如果输入的是2 3 1,但是输出的却不是2 3 1,就说明变量发生了换位操作。
针对一般的换位操作,我们可以类比生活中的现象:
现在你有一个杯子装着a另一个装着b,你想要把这两个杯子中的液体进行互换,但是如果直接进行互换是不可行的,因为杯中始终有液体无法空出来存放置换后的液体。所以我们需要再额外添加一个空杯子c杯来存放a,这时候杯子空出来了,b也就可以倒进这个杯中,而此时b杯空出来了,a也就可以倒进b杯实现兑换。
在编程中也是如此实现。
我们只要添加一个变量来存放原有的其中一个变量也就可以实现换位操作。
所以代码如此:
代码语言:javascript复制#include <stdio.h>
int main()
{
int a = 2;
int b = 3;
int c = 1;
scanf("%d%d%d",&a, &b,&c);
if(a<b)
{
int tmp = a;
a = b;
b = tmp;
}
if(a<c)
{
int tmp = a;
a = c;
c = tmp;
}
if(b<c)
{
int tmp = b;
b = c;
c = tmp;
}
printf("a=%d b=%d c=%dn", a, b, c);
return 0;
}