一、问题描述
(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;
}
四、运行结果


本文探讨了在不使用额外临时变量的情况下,如何通过数学运算实现两个整型变量的值交换。介绍了两种方法:一种是借助中间变量的传统方式,另一种是创新地运用加减法完成值的互换。并通过C语言代码示例展示了这两种方法的具体实现。
988

被折叠的 条评论
为什么被折叠?



