當前位置:首頁 » 編程語言 » c語言中三個數字怎麼互換
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中三個數字怎麼互換

發布時間: 2022-05-18 21:48:05

① 求c語言中數字的二、八、十、十六進制相互轉換

十進制轉化二進制用2來輾轉相除,直到結果為1,然後從最後的1開始,從下到上,把余數寫出來就是對應的二進制,如130
130/2=65…0
65/2=32...1
32/2=16...0
16/2=8...0
8/2=4...0
4/2=2...0
2/2=1...0即10000010,下面說二進制轉化為八進制、十六進制。如二進制的10110111011換成八進制時,從右到左,三位一組,不夠左邊補0,即成了,010
110
111
011然後每組三個數分別對應2^2,2^1,2^0(^代表冪)

② c語言中三個整型數a b c怎麼進行值的互換

二個變數值的交換一般需藉助於一個輔助變數來完成的。
int
a=3,b=4,t;
通過以下的三個語句就能把a,b的值互換(這種操作有點像把二個瓶里的液體交換時,要藉助於一個空瓶):
t=a;
a=b;
b=t;
不太清楚什麼是「a
b
c值的互換」。如果是要把a=1,b=2,c=3「輪換」為a=2,b=3,c=1的話,
那就用下面的語句實現:
t=a;
a=b;
b=c;
c=t;
如果是要把任意大小順序的三個變數,通過交換變為從小到大排列,可以採用以下的程序段:
int
a,b,c,t;
scanf("%d
%d
%d",&a,&b,&c);
if(a>b){t=a;
a=b;
b=t;}
if(a>c){t=a;
a=c;
c=t;}
if(b>c){t=b;
b=c;
c=t;}
printf("從小到大的排列是:%d
%d
%d\n",a,b,c);

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

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

1、藉助中間變數完成,此方法直觀,易理解,使用最多

2、不需要中間變數,通過變數身的運算完成交換。

參考代碼:

方法1:
inta=2,b=3,t;
t=a;//先將a存儲到臨時變數t中
a=b;//將b存儲到a中
b=t;//將臨時變數中的原a值存儲到b中
printf("a=%db=%d ",a,b);

方法2:
inta=2,b=3,t;
a+=b;//把兩數之和存到a中
b=a-b;//用兩數和減去b可得原a,存儲到b中
a=a-b;//因為b現在是原a值,所以,用兩數和減去b(原a)可得原b,存儲到a中
此方法,還可以用異或運算來實現,原理相同。

④ 怎樣用C語言交換a,b,c三個數

a與b換:
a=a^b;(按位運算)
b=a^b;
a=a^b;
b與c換
b=b^c;
c=b^c;
b=b^c;
這是最方便的了。

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

定義 A ,B, C,
把A保存到C
把B保存到A
把C保存到B
這要就OK了!
int a, b , c;
c = a;
a = b;
b = c;

⑥ c語言中三個整型數a b c怎麼進行值的互換

如果是要把三個整型數a,b,c的值,進行輪換,也就是把b的值放到a中,把c的值放到b中,把a的值放到c中,需要再增加一個臨時變數t,採用下面的四個語句就可以實現。
t=a; a=b; b=c; c=t;

⑦ C語言文件中數字的替換問題

這是什麼比方?文本文件還是二進制格式的文件?其中兩個數字是怎樣的判別方式?
我只能說,讀取這個文件,判斷是不是你需要的地方,如果不是,直接寫入;是,替換了數據再寫入

⑧ C語言數值的交換

樓上的這個
a = a+b;
b = a-b;
a = a-b;
是個方法,是符合我們數學思維的方法,也是最初接觸C語言的人可能想到的方法。 但是這樣編程很不直觀,不如t=a;a=b;b=t;來得快。

似乎在C++中有swap(a, b)模板函數,直接實現a,b交換。

想玩高級一點的話,可採用「換標不換值」的方法,用數組元素作為數組的下標,這種方法換邏輯不換存儲。

#include <stdio.h>
void main()
{
int a=10,b=20;
int array1[2] = {10,20}; //存a、b值
int array2[2] = {0,1}; //存下標
b = array1[array2[0]];
a = array1[array2[1]];
printf("a=%d, b=%d\n",a,b);
}

這個方法在對結構體數組值交換中非常好用!因為結構體數組一般每個成員都有很多個值,如:
struct student
{
int num;
double score;
char name[20];
}stu[5]={{1,98,"ziguowen"},{2,88,"dongda"},{3,78,"haha"}};

//交換stu[0]和stu[1],需要
int n;
double s;
char n[20];
n = stu[0].num; stu[0].num = stu[1].num; stu[1].num = n;
s = stu[0].score; stu[0].score = stu[1].score; stu[1].score = s;
strcpy(n, stu[0].name); strcpy(stu[0].name, stu[1].name); strcpy(stu[0].name,s);

//而用下標的話,一個賦值語句即可,直接交換stu[0] 和 stu[1] 下標後全部交換!

⑨ c語言 輸入三個數的值實現第一個數和第三個數交換

//這樣就可以了,輸入三個整數,以空格間隔
#include<stdio.h>
intmain(){
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
inttmp=a;
a=c;
c=tmp;
printf("%d%d%d ",a,b,c);
return0;
}