变量交换

如何交换二变量的值?

  1.三变量法:通过一个中间变量来达到交换的目的。

  

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int a, b;
 6     cin >> a >> b;
 7     int c = a;
 8     a = b;
 9     b = c;
10     cout << a << ' '<<b << endl;
11     return 0;
12 }

  2.不借助中间变量:加减法

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int a, b;
 6     cin >> a >> b;
 7     a = a + b;
 8     b = a - b;
 9     a = a - b;
10     cout << a << ' '<< b << endl;
11     return 0;
12 }

  3.不借助中间变量:位运算法(异或)

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int a, b;
 6     cin >> a >> b;
 7     a = a^b;
 8     b = a^b;
 9     a = a^b;
10     cout << a << ' '<<b << endl;
11     return 0;
12 }

  4.只改变输出顺序(针对算法竞赛)

1 #include<iostream>
2 using namespace std;
3 int main()
4 {
5     int a, b;
6     cin >> a >> b;
7     cout << b << ' '<<a << endl;
8     return 0;
9 }

  

作者:萌萌的美男子
出处:http://www.cnblogs.com/ivan-count/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/ivan-count/p/6504525.html