不创建临时变量,交换两个数的内容
方法一(加减法):
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(){
int a, b;
printf("请输入两个整数:\n");
scanf("%d %d", &a, &b);
a = a + b,
b = a - b,
a = a - b;
printf("%d %d\n", a, b);
system("pause");
}
编程思路:
首先从键盘键入两个整数;
其次是交换两个数的内容;(不采用中间变量,我们可以选择加减法,首先把a+b的值赋给a,再把新的a减掉b,即实现b的值变为a,最后用新的a减去新的b(即a+b-a)则a的值变为b)
最后输出交换后的结果。
方法二(乘除法):
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(){
int a, b;
printf("请输入两个整数:\n");
scanf("%d %d", &a, &b);
a = a * b,
b = a / b,
a = a / b;
printf("%d %d\n", a, b);
system("pause");
}
编程思路:
首先从键盘键入两个整数;
其次是交换两个数的内容;(不采用中间变量,我们可以选择乘除法,首先把ab的值赋给a,再把新的a除以b,即实现b的值变为a,最后用新的a除以新的b(即ab/a)则a的值变为b)
最后输出交换后的结果。
注意:此时有一条限制,b!=0。