题目:变量交换
输入两个整数a和b,交换两者的值,然后输出。
样例输入: 824 16
样例输出:16 824
第一种方法为三变量法:
#include <STDIO.H>
int main()
{
int a , b , tmp;
scanf("%d%d",&a,&b);
tmp = a;
a = b;
b = tmp;
printf("%d %d",a,b);
}
第二种方法:
#include <STDIO.H>
int main()
{
int a , b ;
scanf("%d%d",&a,&b);
//实现a和b值交换
a = a + b;
b = a - b;
a = a - b;
printf("%d %d",a,b);
}
第三种方法:
#include <STDIO.H>
int main()
{
int a , b ;
scanf("%d%d",&a,&b);
printf("%d %d",b,a);//实现输出时的交换,a和b的值并没有交换。
}
第四种方法,利用按位异或操作符^进行交换:
#include <STDIO.H>
int main()
{
int a , b ;
scanf("%d%d",&a,&b);
//运用按位异或运算,实现两个数的交换:相同为0,不同为1.
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("%d %d",a,b);
}