一 算法实现
简单思考一下,既然不能使用中间第三者来交换变量的值,那就只能通过两个变量的自身的运算来交换了。
于是经过简单的摸索,不难找到以下这种算法:
a=a+b;
b=-(b-a);
a=a-b;
这样,就可以解决问题了。
二 代码实现
以下以C语言为例
#include <stdio.h>
int main(){
int a,b;
scanf("%d%d",&a,&b);
printf("%d %d\n",a,b);
a=a+b;
b=-(b-a);
a=a-b;
printf("%d %d\n",a,b);
return 0;
}
三 总结
该问题实质上还是通过摸索和尝试来找到合适的数学运算来解决问题。