问题描述:现有正整数a与b,输入a与b的值,使输出结果将a与b的值互换(使a的值等于b,b的值等于a)
解决方法一:第三变量交换法
第三变量交换法是指新建一个辅助变量,由于直接将a赋值给b会使a=b,则再进行代码b=a时实际上b的值并没有改变,所以新建一个辅助变量c,将a赋值给c,此时c=a,再将b赋值给a,此时a=b,最后再执行将c赋值给b的操作,因为c=a,所以就是把原来的a赋值给了b,代码如下:
#include<iostream>
using namespace std;
int main(){
int a,b,c;
cin>>a>>b;
c = a;//将a赋值给c
a = b;//将b赋值给a
b = c;//将c赋值给b
cout<<a<<" "<<b;//输出结果
return 0;
}
解决方法二:求和法
求和法是指将a+b赋值给a,之后进行的操作如下:
#include<iostream>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
a = a + b;//使a等于a+b
b = a - b;//因为此时a=a+b,所以用a+b-b就等于原来的a,即将原来的a赋值给b
a = a - b;//因为此时a=a+b,b等于原来的a,所以用a+b-a就等于b,即将原来的b赋值给a
return 0;
}
以上就是本次知识分享啦~
记得点赞!