这类题目是很常见的而且比较简单的题目了,通过我自己的学习总结了一下几种我们通常会用到的方法。
1.利用创建中间变量的思想,进行过渡交换。这个就是我们常常容易想到的简单方法了。
#include<stdio.h>
int main()
{
int a=1,b=2,c;
scanf("%d%d",&a,&b);
c=b;//以C作为中间变量
b=a;
a=c;
printf("%d %d",a,b);
return 0;
}
2.学过函数的小伙伴就可试着调用函数来进行数值交换。这种方法似乎看起来就要高大上一点了。
#include<stdio.h>
void swap(int a,int b)
{
int c;
c=a;
a=b;
b=c;
}
int main()
{
int a=1,b=2;
scanf("%d%d",&a,&b);
swap(&a,&b);
printf("%d %d",a,b);
return 0;
}
3.我们还可以利用加减或乘除运算来进行交换。其实我个人认为这种方法也跟中间量有关系。
这个方法还有一点不好的就是运算过程可能会出现溢出错误。
#include<stdio.h>
int main()
{
int a=1,b=2;//加减的交换法
int c=3,d=4;//乘除的交换法
scanf("%d%d\n",&a,&b);
a=a+b;
b=a-b;
a=a-b;
printf("%d %d\n",a,b);
scanf("%d%d",&c,&d);
c=c*d;//得到两个数的乘积
d=c/d;//乘积除以d即得到c的值,再将值赋给d
c=c/d;
return 0;
}
还有很多其他交换的方法,大家也可以学习其他更高级的方法。