`
雨打蕉叶
  • 浏览: 236428 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

a、b交换

 
阅读更多

1.有两个变量a和b,不用“if”、“?:”、“switch”或其它判断语句,找出两个数中间比较大的。

方案一:

int max=((a+b)+abs(a-b))/2;

方案二:

int c=a-b;

char *strs[2]={"a大","b大");

c=unsigned(c)>>(sizeof(int)*8-1);
 

2.如何将a、b的值进行交换,并且不使用任何中间变量?

方案一:

a=a+b;

b=a-b;

a=a-b;
 

此方案的缺点是如是a、b都比较大,a=a+b时就会超界。

方案二:

a=a^b;

b=a^b;

a=a^b;
 

此方案的优点是不用担心超界的问题。

分享到:
评论

相关推荐

    有两个数组a,b,大小都为n,数组元素的值任意,无序

    每次交换操作可以选择一个 `a[i]` 和一个 `b[j]` 进行交换,其中 `i` 和 `j` 分别为数组 `a` 和 `b` 中的索引。 ### 三、解决方案 #### 1. 基本思路 考虑到我们的目标是让两个数组的总和之差尽可能小,最直观的...

    可爱的Python之 交换值

    这里,等号右侧的`c, a, b`创建了一个包含c、a和b当前值的新元组,然后等号左侧的`a, b, c`将元组中的值分别解包到对应的变量中,实现了三个变量的值的交换。 这种方法的巧妙之处在于,它利用了Python的语法特性,...

    利用指针交换函数

    用指针变量作函数参数实现两数交换函数,利用该函数实现数组a和数组b中对应的元素。

    两个数据的交换

    3. 再次从当前的`A`值中减去新的`B`值,得到的结果即为原来的`B`值,将其存放在`A`中。 实现代码如下: ```c void f1(int *a, int *b) { *a = *a + *b; *b = *a - *b; *a = *a - *b; } ``` 这种方法不使用任何...

    《程控交换技术》期末考试试卷A

    这份期末考试试卷A涉及了多个核心知识点,包括网络协议、交换设备、信令系统、信号处理以及交换网络的架构。 1. IPv6 地址长度:IPv6 的地址位数是128位,相比IPv4的32位,提供了更为广阔的地址空间,是互联网发展...

    c语言swap(a,b)值交换的4种实现方法

    在C语言中,交换两个变量`a`和`b`的值是一个常见的操作,通常用于各种算法和数据处理。本文将介绍四种不同的方法来实现`swap(a, b)`函数,以便在C语言中完成值交换。 ### 方法一:使用临时变量 这是最直观且最常用...

    02交换两个变量的值

    ### 02交换两个变量的值 #### 知识点概览 本篇文章将深入探讨在编程语言中如何实现两个变量值的交换,并通过具体的示例代码进行详细讲解。主要涉及的知识点包括变量声明、赋值操作以及使用第三个辅助变量进行值...

    双指针实现交换

    这样就实现了 `a` 和 `b` 的值交换,而没有使用额外的临时变量。 总结来说,双指针实现交换的核心在于通过指针间接访问和修改变量的值,而不是直接交换变量。这种技巧在处理大型数据结构,如数组、链表或树时特别...

    《程控交换技术》期末考试试卷B

    8. **PCM信号交换时隙**:在T-S-T数字交换网络中,如果A到B时使用5号内部时隙,那么B到A时交换机会选择一个新的空闲时隙,不会固定为5号时隙。 9. **ROM法产生连续音**:生成500Hz连续音,采用节省ROM法,通常需要4...

    小学信息学竞赛-第2课

    cout<<"a="<<a<<" b="<<b; 三、基本数据类型 基本数据类型是指计算机中最基本的数据类型,包括整型、浮点型、字符型等。 1. 整型 整型分为短整型、基本整型和长整型三种,另外还有三种对应的无符号整型数据,...

    C语言程序设计-实现两个整数的交换;例如:给a和b分别输入:60和65,输入为:a=65 b=60.c

    C语言程序设计-实现两个整数的交换;例如:给a和b分别输入:60和65,输入为:a=65 b=60.c

    易语言交换变量值

    如果我们要交换两个整数变量A和B的值,可以这样操作: ```e A = A + B B = A - B A = A - B ``` 在这个过程中,A和B通过加法和减法实现了值的互换,而没有使用额外的临时变量。 对于文本类型的变量,交换过程稍微...

    两数交换的三种方法C#_java 两数交换的三种方法 两数交换方法

    然后,依次执行上述三种交换方法,并在每次交换后打印A和B的值,以便观察结果。 同样,在C#示例代码中,也实现了相同的逻辑。通过点击事件触发,演示了使用临时变量、加减法和异或操作实现两数交换的过程,并通过...

    不使用中间变量,交换int型的 a, b两个变量的值。

    这里我们将详细讨论四个示例,分别使用加减法、位操作和数组、对象来交换整数变量`a`和`b`的值。 1. 加减法交换(by ppchen) ```javascript var a = 10, b = 2; a = a + b; // a becomes 12 b = a – b; // b ...

    啊哈C语言 第8讲 逻辑挑战1:交换小房子中的数.pdf

    代码中通过连续的赋值操作实现交换,具体步骤如下:首先通过`a=b-a`操作将b的值减去a的值存入a中,此时a等于原始b减去a的值;然后通过`b=b-a`操作将新a的值(即b-a)从b中减去,此时b等于原始的a;最后通过`a=b+a`...

    TCL bk868 pabx系列说明书

    TCL BK868 PABX(专用自动分组交换)系列是为企业级通信设计的专业程控交换机,旨在提供高效、可靠的语音通信服务。在安装与配置过程中,有几点需格外注意: 1. **安装注意事项**:确保安装环境符合设备要求,避免...

    最简单的交换两个整数算法

    现在a的值变成了b的原始值,而b的值没有改变,因此完成了两个整数的交换。 下面是这个过程的伪代码示例: ```python def exchange_without_temp(a, b): a = a ^ b b = a ^ b a = a ^ b return a, b ``` 通过...

    VOIP软交换的控制呼叫流程

    在此过程中,A有多个选择:重新与B通话、让C等待直至C挂断或超时,或者挂断A与B的通话,直接与C通话。 3. **呼叫转移**: 在A与B通话时,若A需将通话转接到C,A拍叉并快速拨C的号码。B听到保持音,C接收到振铃。当...

    经典数据交换算法

    3. 最后,通过`a`减去`b`(此时`b`已经变为原来的`a`值),得到原来的`b`值,再赋给`a`。 代码实现如下: ```c int a = 5, b = 10; a = a + b; // 此时 a=15 (5+10) b = a - b; // 此时 b=5 (15-10) a = a - b; // ...

Global site tag (gtag.js) - Google Analytics