您當前的位置:首頁 > 曲藝

交換兩個整數

作者:由 點點 發表于 曲藝時間:2020-10-11

兩個變數numA和numB

int

numA

=

5

int

numB

=

7

交換這兩個變數的值,使得:

numA

=

7

numB

=

5

交換兩個變數的值,思路有兩種。

常規思路藉助一箇中間變數temp,先將numA的值賦給temp(temp = numA),然後將numB的值賦給numA(numA = numB),最後將一開始被賦值的temp的值賦給numB(numB = temp)。

另一種方法透過加減或者異或操作,不借助中間變數交換兩個變數的值。

藉助中間變數

void

swap

int

&

numA

int

&

numB

{

int

temp

=

numA

numA

=

numB

numB

=

temp

}

不借助中間變數

#include

#include

#include

#include

#include

#include

using

namespace

std

void

swap1

int

&

numA

int

&

numB

{

numA

=

numA

+

numB

numB

=

numA

-

numB

numA

=

numA

-

numB

}

void

swap2

int

&

numA

int

&

numB

{

numA

=

numA

^

numB

numB

=

numA

^

numB

numA

=

numA

^

numB

}

int

main

()

{

int

numA

=

5

int

numB

=

7

cout

<<

“numA = : ”

<<

numA

<<

endl

<<

“numB = : ”

<<

numB

<<

endl

cout

<<

“————————————-”

<<

endl

swap2

numA

numB

);

cout

<<

“numA = : ”

<<

numA

<<

endl

<<

“numB = : ”

<<

numB

<<

endl

system

“pause”

);

}

輸出結果如圖所示:

交換兩個整數

圖1 交換變數方法執行結果

標簽: NUMA  Numb  temp  int  變數