五種方法交換兩個整數

2021-07-22 08:18:01 字數 964 閱讀 9242

備註:int 範圍 -2^31~2^31-1 即-2147483648~2147483647

long long 範圍 -2^63~2^63-1 即 -9223372036854775808~9223372036854775807

第一種方法:三變數法

特點:通用性強,簡潔易懂

#includeusing namespace std;

typedef int type;

int main()

{ type a,b;

type t;

cin>>a>>b;

cout<<"a: "<

第二種方法:加減法

特點:不用臨時變數

a=a+b;

b=a-b;

a=a-b;

//可能越界

a=a+b-(b=a);

//不會溢位

a=a-b;

b=a+b;

a=b-a;

//可能越界

第三種方法:異或法

特點:利用異或的性質

a=a^b;

b=a^b;

a=a^b;

//只用於整數

第四種方法:利用棧

特點:使用stl

#include#includeusing namespace std;

typedef int type;

stacks;

int main()

{ type a,b;

cin>>a>>b;

cout<<"a: "<

第五種方法:swap函式法

特點:簡潔易用

swap(a,b);

交換兩個整數的三種方法

package com.zby.bubble 三種方法交換兩個整數的值 author zby public class exchange 使用乙個臨時變數交換,優點 對於其他型別同樣適用。param a param b public static void exchange1 int a,int b...

兩個整數交換

第乙個程式設計題是 用 c 語言寫乙個函式交換兩整數的值,不借助第三個變數。事實上這個題目一聽到就有了想法,因為以前有做過,形如 方法一 a a b b a b a a b 不過提出了最大的問題,就是兩個正數的溢位問題。這個確實是缺限,以前遇到卻沒去找它的解決方法。此時提出了強轉型別為long in...

交換兩個變數的三種方法

public static void main string args num1 2,num2 1前提 兩個變數相加的值不能溢位 public static void main string args num3 20,num4 10異或 1.任意乙個變數x與其自身進行異或運算,結果為0,即x x 0...