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...