在c語言中如何將兩個數進行互換,在C語言中如何將兩個數進行互換

時間 2021-06-25 15:02:13

1樓:匿名使用者

將兩個數進行互換的方法有兩種形式:

1、藉助中間變數完成,此方法直觀,易理解,使用最多2、不需要中間變數,通過變數身的運算完成交換。

方法1:

int a=2,b=3,t;

t=a; //先將a儲存到臨時變數t中

a=b; //將b儲存到a中

b=t; //將臨時變數中的原a值儲存到b中printf("a=%d b=%d\n", a,b );

方法2:

int a=2,b=3,t;

a += b ; //把兩數之和存到a中

b= a-b ; //用兩數和減去b可得原a,儲存到b中a= a-b ; //因為b現在是原a值,所以,用兩數和減去b(原a)可得 原b,儲存到a中

此方法,還可以用異或運算來實現,原理相同。

2樓:手機使用者

邊的書的值給左邊的數 執行c=a;a=b;b=c 就是把a 的值給c c的值就沒有了 變成a 的值了, 其餘的也是這樣, 就像兩杯水 要讓他們換過來, 就要把其中的一杯倒到另一隻空杯子裡 把另一杯倒到剛空出來的杯子裡 然後再把第三隻杯子裡的水倒到第一隻杯子裡的道理是一樣的

3樓:匿名使用者

如果只是將兩個數互換的話,樓上的有些複雜了,其實用一箇中間變數就行了,例如把a和b的值互換

int a,b,t;

scanf("%d,%d",&a,&b);

t=a;

a-b;

b=t;

這樣就行了

4樓:

#include

void swap(int * a,int *b)

void main()

5樓:匿名使用者

定義 a ,b, c,

把a儲存到c

把b儲存到a

把c儲存到b

這要就ok了!

int a, b , c;

c = a;

a = b;

b = c;

c語言用函式如何實現兩個數交換?

6樓:匿名使用者

#include"stdio.h"int swap(int *a,int *b)

main()

7樓:天平座de魚

c語言用函式如何實現兩個數交換的話?比較難發揮。

8樓:倒黴熊

#include

main()

printf("%d > %d\n",*za,*zb);

printf("%d > %d\n",a,b);

}int hanshu(int *x,int *y)

9樓:匿名使用者

int hanshu(int *x,int *y)這裡應把temp定義為int型

int temp;

temp = *x;

*x = *y;

*y = temp;

這樣就內對容了

10樓:溪貝溪貝

#include

void huhuan(int*, int*);

int main(void)

void huhuan(int*m, int*n)

c語言怎麼用自定義函式將兩個數交換

11樓:雪v歌

要用函式實現兩個數的交換,則函式引數必須定義為指標形式,否則函式中對數值的修改將不會影響主調函式,這是c語言的規則。

所以,以整型為例,自定義函式書寫如下:

void swap_int(int*a,int*b)

在c語言中如何將兩個數進行互換

12樓:仲維傳媒

#include

int main()

執行結果:

c語言問題(實現講兩個數進行對調的操作)

13樓:匿名使用者

填:a=a-b;

原理是這個樣子的:

假設a裡面的值是m,b裡面的值是n

先執行a=a+b;此時a裡面放

專的是兩者的和即

屬m+n,

再執行b=a-b; a裡面的值(m+n)再減去b的值(n)得m,把m給b

所以執行完該語句後,b的值由n變成了m。此時a的值還是m+n該句相當於b=(m+n)-n

最後執行a=a-b;即a=(m+n)-m得a的值為n完成了交換

14樓:匿名使用者

填a-b就好了

a=a+b是把a+b賦給a

b=a-b 因為現在a是a+b 所以 b=a+b-b 就得到了b=a而a的值還沒有變,還是等於a+b 所以a=a-b就得到a了

15樓:匿名使用者

a-b理由:設初始值為a0,b0。

看a=a+b;b=a-b;a=_____;

此時a=a0+b0;b=a-b0=a0;

a=a-b=(a0+b0)-a0=b0.完成。

16樓:匿名使用者

填 a-b 因為a=a+b時 a+b的和值給重新給a了 b=(a+b)-b,所以-a=(a+b)-(a+b)-b

所以 要想a換成b的話

此時b相當與回a a相當與a+b 所以就a-b了很完美吧?給點點答分吧...

17樓:

a=a+b;

b=a-b;//此時a=a+b,so,b=原來的a

a=_____; //a=a-b即可

c語言中判斷兩個陣列內容是否相同

墨汁諾 c語言有個函式memcmp是用來進行記憶體比較的extern intmemcmp void buf1,void buf2,unsigned intcount if 0 memcmp id,id1,20 id1等於id2 先要明確運算子按優先順序不同分類,c程式設計 運算子可分為15種優先順序...

請問在C語言裡如何將陣列元素的個數設為輸入的值

聽時間流逝 我當初學c的時候有過和你一樣的想法,但是陣列的記憶體只能靜態分配,所以你必須指明陣列的大小。比如 int a 10 char ch i love china 一個顯式指定大小,一個是隱式指定。 逐夢兮樂 這個陣列不能是變數,只能是常量,沒法設定的。 浪尖上打禪 這其實就是動態開闢陣列,需...

C語言中用max函式比較兩個數的大小,為什麼結果總是472?求解釋程式內容在問題補充

scanf d,d a,b 注意這個 d,d 你格式之間加逗號 那麼輸入值的時候一定要用逗號隔開 或者這裡你不要用逗號scanf d d a,b 你改用指標試試 include void main int max int x,int y 錯了兩個地方 一個是scanf d,d,a,b 改為scanf...