在不申请第三方变量的情况下交换a和b

1、算数运算

a=a*b;b=a/b;a=a/b;

2、XOR运算

a和bxor运算两次还是 a

3、栈运算

stack<数据类型>s

4、程序运行

 1 #include <iostream>
 2 #include<stdlib.h>
 3 #include<stack>//STL里重要的函数
 4 using namespace std;
 5 /*void _stack(int x,int y){
 6 stack<int>s;
 7 s.push(x);
 8 s.push(y);
 9 x = s.top();
10 s.pop();
11 y = s.top();
12 s.pop();
13 cout << x << " " << y << endl;
14 }
15 void _arithmetic(int a, int b){
16 a = a*b;
17 b = a / b;
18 a = a / b;
19 cout << a << " " << b << endl;
20 }
21 void _xor(int a, int b){
22 a = a^b;
23 b = a^b;
24 a = a^b;
25 cout << a << " " << b << endl;
26 }*/
27 class _swap{
28 public:
29     void _valueab(){ cout << "请输入a和b的值:" << endl; cin >> a >> b; }
30     void _stack(){
31         stack<int>s;
32         s.push(a);
33         s.push(b);
34         a = s.top();
35         s.pop();
36         b = s.top();
37         s.pop();
38         cout << a << " " << b << endl;
39     }
40     void _arithmetic(){
41         a = a*b;
42         b = a / b;
43         a = a / b;
44         cout << a << " " << b << endl;
45     }
46     void _xor(){
47         a = a^b;
48         b = a^b;
49         a = a^b;
50         cout << a << " " << b << endl;
51     }
52 private:
53     int a, b;
54 };
55 int main(){//这里要用int,因为main函数会自带return 0,所以应该写int
56     _swap function;
57     function._valueab();
58     function._stack();
59     function._arithmetic();
60     function._xor();
61     system("pause");
62 }

5、运行结果

原文地址:https://www.cnblogs.com/hehesunshine/p/11609916.html

时间: 2024-09-28 16:19:47

在不申请第三方变量的情况下交换a和b的相关文章

python中不引入第三方变量的情况下交换a\b的值

a = 1b = 2a=a+b #a是3b=a-b # b是1a=a-b # a是2print('a:',a)print('b:',b)

在不使用第三方参数的情况下交换两个参数的值

//方法一 i = i + j; j = i - j; i = i - j; //方法二 i ^= j; j ^= i; i ^= j; //方法三 a = a + b - (b = a)

PHP_变量什么情况下加大括号{}

php变量什么情况下加大括号{} 如:$sql = "insert into article (`channel_id`,`title`,`detail`,`pub_time`) values ('{$cid}','{$title}','{$detail}','{$time}');"; 不加似乎也可以,加{}是什么意思呢?还有字段名 为什么要以``包括呢? ================================================== 最佳答案 至少便于阅读嘛~~

如何在不介入第三个变量的情况下实现两个数的交换

如何在不介入第三个变量的情况下实现两个数的交换: 1 package myeclipseFiles2; 2 3 public class Operator { 4 5 public static void main(String[] args) { 6 // TODO Auto-generated method stub 7 int a=6; 8 int b=1; 9 System.out.println(a+":"+b); 10 11 //方法一:不借助第三个变量完成两个数的交换 1

不占用任何额外空间的情况下交换两个数的值

题目 假如有x.y两个数,如何在不占用任何额外空间的情况下交换两个数的值? 思路 平时我们在交换两个数的值时,往往会用一个中间数temp来实现效果,现在需要不占用任何额外空间,自然就不能使用这种寻常的方法了:这里可以有两种方法来实现. 方法一 int x = 5; int y = 10; x = x + y; y = x - y; x = x - y; 先将两个数之和附给x,接着x-y自然就是原本x的值,这时候赋值给y,y就拿到了x原本的值.此时x依然是两个数之和,再进行x-y自然就是原本x的值

php变量什么情况下加大括号{}

下面几个比较能说明原因的解释是: 表示{}里面的是一个变量  ,执行时按照变量来处理 在字符串中引用变量使用的特殊包括方式,这样就可以不使用.运算符,从而减少代码的输入量了. 其实输出那块是等同于print   "hello   ".$arr['fruit']; PHP: 字符串变量中大括号(花括号{})的作用 PHP 变量后面加上一个大括号{},里面填上数字,就是指 PHP 变量相应序号的字符.例如:$str = 'hello';echo $str{0}; // 输出为 hecho

JS 不声明第三个变量的情况下实现两数变换

1. 1 var a = 1; 2 var b = 2; 3 a = a + b; //3 4 b = a - b; //1 5 a = a - b; //2 6 console.log(a); 7 //2 8 console.log(b); 9 //1 2. var a = 1; var b = 2; a ^= b; b ^= a; a ^= b; console.log(a); //2 console.log(b); //1 console.log((a ^= b) === (a ^ b)

不使用第三方变量交换变量遇到的思考

记一次在不使用第三方变量的情况下交换变量遇到的思考 今天百度了一下 在不使用第三方变量的情况下交换变量的几种方法 对其中的一种交换变量的方法特别感兴趣,看起来比较简单,但是琢磨了半天没有想明白他是按什么顺序去运行的 : 1 public static void main(String[] args) { 2 int a = 1000,b=2000; 3 4 a= b + ( b = a ) * 0; 5 6 System.out.println("a:" + a + " b:

在类有成员变量的场景下, 按照虚表原理, 模拟虚函数实现

前言 当类没有成员变量的情况下,   类首地址有4个字节的空间, 这里可以放我们模拟出来的虚表入口地址. 当类有成员变量的情况下, 类首地址就是成员变量,  所以, 为了模拟虚表实现, 需要在成员变量前, 再定义一个int型变量, 用来存放模拟的虚表入口地址. 现在还得不到虚析构函数的地址, 暂时按照非虚析构函数进行模拟. 这个实验是在C++中模拟的. 模拟虚函数实现的用途 在非OOP语言(C语言)中, 模拟类的实现, 可以实现虚函数的效果. 效果 工程下载点 编译环境: vc6sp6 + wi