不创建临时变量,交换两个数的内容

不创建临时变量,交换两个数的内容
方法一(加减法):

#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。

猜你喜欢

转载自blog.csdn.net/gp1330782530/article/details/88670600
今日推荐