變數取值交換的方法 不拘一格程式設計序之三

2021-05-27 03:00:10 字數 920 閱讀 8906

不拘一格程式設計序之三

變數取值交換演算法

【題目】已知兩變數a和b,設計乙個演算法,交換a與b的值。

【方法1】

最傳統,最廣泛,最著名的方法,增加乙個變數,**如下:

【方法2】

不增加第三個變數,交換a和b的值,**如下:

分析,設a和b的原始值為a,b

執行**                    變數a       變數b

int a, b                    a           b

a=a+b                       a+b         b

b=a-b                       a+b        a+b-b=a

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

【但是】

本方法只適合與整型等,而且不能太大,否則會有溢位。

【方法3】位運算

執行**                    變數a       變數b

a=a^b;                     a^b        b

b=a^b;                     a^b        a^b^b=a

a=a^b;                     a^b^a=b    a

(異或)

不拘一格程式設計序之二俄羅斯方塊新增行演算法

不拘一格遍程式之三變數取值交換演算法

不拘一格程式設計序之四

迴圈的各種形式

交換變數方法

1.第一種寫法 建議使用這種最好 1 int temp num1 2 num1 num2 3 num2 temp 2.第二種寫法 1 num1 num1 num2 2 num2 num1 num2 3 num1 num1 num2 3.第三種寫法 1 num1 num1 num2 2 num2 nu...

交換變數(簡便方法)

variable1 input 請輸入第乙個變數 variable2 input 請輸入第二個變數 variable3 variable2 variable2 variable1 variable1 variable3 print 第乙個變數是 variable1 print 第二個變數是 vari...

數值變數交換常用方法

echo n 臨時變數法 n num1 3 num2 6 echo 交換前 n num1 num1,n num2 num2,n tmp num1 num1 num2 num2 tmp echo 交換後 n num1 num1,n num2 num2,n 臨時變數法 交換前 num1 3 num2 6...