備註: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...