交换两个变量的数值

这类题目是很常见的而且比较简单的题目了,通过我自己的学习总结了一下几种我们通常会用到的方法。

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;	
 } 

还有很多其他交换的方法,大家也可以学习其他更高级的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值