不借助第三者实现两个变量的交换(java&&C)
1.原理:a^b^b = a
2.实现
java:
package javaPractice;
import java.util.*;
public class Exchange {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
a = a^b;
b = a^b;
a = a^b;
System.out.println("交换后的值为a和b分别为"+a+","+b);
}
}
C语言:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b;
printf("input a ,b:\n");
scanf_s("%d%d",&a,&b);
a = a^b;
b = b^a;
a = a^b;
printf("after swaping \na:%d\nb:%d\n",a,b);
system("pause");
return 0;
}
- 一条语句搞定交换:
a = (a+b)-(b=a);
不借助第三者实现两个变量的交换(java&&C)的更多相关文章
- 在JS中 实现不用中间变量temp 实现两个变量值得交换
1.使用加减法; var a=1; var b=2; a=a+b; b=a-b; a=a-b; 2.使用乘除法(乘除法更像是加减法向乘除运算的映射) var a=1; var b=2; a = a * ...
- 写一方法来实现两个变量的交换。在主调函数中定义两个整型变量,并初始化,调用交换方法,实现这两个变量的交换。(使用ref参数)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 【编程技巧】java不使用第三个变量处理两个变量的交换
public class SwapNum {public static void main(String[] args) {doSwapNum();}public static void doSwap ...
- 两个变量交换的四种方法(Java)
对于两种变量的交换,我发现四种方法,下面我用Java来演示一下. 1.利用第三个变量交换数值,简单的方法. (代码演示一下) class TestEV //创建一个类 { public static ...
- 两个变量交换的四种方法(Java) 七种方法(JS)
两个变量交换的四种方法(Java) 对于两种变量的交换,我发现四种方法,下面我用Java来演示一下. 1.利用第三个变量交换数值,简单的方法. (代码演示一下) 1 class TestEV 2 ...
- Java基础知识强化05:不借助第三个变量实现两个变量互换
1. 不借助第三个变量实现两个变量互换 代码如下: package himi.hebao; /** * 不借助第三个变量实现,两个变量互换 * 这里利用^异或实现两个变量的互换 * @author A ...
- Java实现两个变量的互换(不借助第3个变量)
创建一个类,在该类中定义两个变量并为其指定初始值,然后交换两个变量的值,要求不允许借助第三个变量,只能使用异或运行实现两个变量值的交换. import java.util.Scanner; publi ...
- JavaScript中交换两个变量的值得三种做法(代码实现)
javascript在编程时经常会涉及到如何交换两个变量的值,例如常见的冒泡排序,快速排序等:下面我讲根据自己近期所学总结几种常见的交换两个变量值的方法: 方法一:借助第三方变量交换两个变量的值 va ...
- JAVA交换两个变量的值-(不使用第三变量)
以下方法的根本原理就是: 借助第三个变量 c = a; a = b; b = c; 运算符-不借助第三变量: a = a+b; b = a-b; a = a-b; 为运算符-不借助第三个变量: (此种 ...
- Python 为什么只需一条语句“a,b=b,a”,就能直接交换两个变量?
从接触 Python 时起,我就觉得 Python 的元组解包(unpacking)挺有意思,非常简洁好用. 最显而易见的例子就是多重赋值,即在一条语句中同时给多个变量赋值: >>> ...
随机推荐
- Opera打不开网页解决办法
打开目录C:\Users\用户名\AppData\Roaming\Opera Software\Opera Stable 2.查找{"country":"CN" ...
- 获取另一个frame中的元素
<frameset cols="12,88" frameborder="no" noresize borders="no" frame ...
- C++ open()和read()函数使用详解
对于Framework工程师来说,必要C或者C++编程能力是必须的,像对设备节点的操作是最基本的操作,那么我们便会用到open和read函数.open()函数用于打开文件,而read()函数用于从打开 ...
- 使用makefile帮助GO项目开发
使用makefile可以快捷管理和构建自己的go项目, 适用于linux远程开发等环境. 提供一个基础的makefile供开发使用. 大部分是针对常用指令的二次封装 Makefile 先展示文件内容, ...
- 【面试题】实现 queryParse 函数,完成解析 URL 参数的功能
问题:实现 queryParse 函数,完成解析 URL 参数的功能 /** * 问题:实现 queryParse 函数,完成解析 URL 参数的功能 * * 用法: * ```js * const ...
- 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
需求背景 阿里云服务器到期了,正好家里有闲置的电脑,还有公网IP,打算装个linux服务器使用.本文章主要重点是实现远程连接虚拟机内服务器,打通网络连接,更多玩法大家可以自行探索. ps: 公网IP自 ...
- NumPy学习8
今天学习了NumPy统计函数 16,NumPy统计函数 numpy_test8.py : import numpy as np ''' 16,NumPy统计函数 NumPy 提供了许多统计功能的函数, ...
- NumPy学习5
今天学习了11, NumPy数组元素增删改查NumPy 数组元素的增删改查操作,主要有以下方法:数组元素操作方法函数名称 描述说明resize 返回指定形状的新数组.append 将元素值添加到数组的 ...
- 如何在linux中查看cpu信息、机器硬件型号
# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz (看到有8 ...
- 初始化参数之memory_target
一.引言: Oracle 9i引入pga_aggregate_target,可以自动对PGA进行调整: Oracle 10g引入sga_target,可以自动对SGA进行调整: Oracle 11g则 ...