一、问题描述
(1)给定两个整形变量的值,将两个变量的值进行交换。
(2)不使用临时变量来交换两个整形变量的值。
二、分析
(1)给一个中间的临时变量temp,把a的值先放在temp中,将b的值放在a中,再把temp的值放在b中。这样,就借助中间变量temp完成了a和b值的交换。
(2)利用加减法来交换两个变量的值。比如说a=15,b=30.令a=a+b=15+30=45,b=a-b=45-15=30,a=a-b=45-30=15.最后,a=15,b=30,就利用加减法完成了两个数的交换。
三、代码1
#include<stdio.h>
#include<stdlib.h>
int main() {
int a=5;
int b=10;
int temp;
temp = a;
a =b ;
b= temp;
printf("%d,%d\n", a, b);
system(“pause”);
return 0;
}
代码2:
#include<stdio.h>
#include<stdlib.h>
int main() {
int a = 20;
int b = 15;
a = a + b;
b = a - b;
a = a - b;
printf(“a=%d,b=%d\n”, a, b);
system(“pause”);
return 0;
}
四、运行结果