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

方法1: 使用來一個臨時變數來進源行保存,這應該也是大家最容易想到的方法,話不多說,直接上代碼

參考代碼:

#include<stdio.h>
intmain()
{inta=4;
intb=5;
intnTemp;
printf("交換前a,b的值為: ");
printf("a=%d ",a);
printf("b=%d ",b);
printf(" ");
nTemp=a;
a=b;
b=nTemp;
printf("----------------------------------我是分割線------------------------------------ ");
printf("交換前a,b的值為: ");
printf("a=%d ",a);
printf("b=%d ",b);
return0;
}

運行結果:

❷ c語言 將變數A和B的值進行互換 的程序

代碼如下:#include<stdio.h>


#include <stdlib.h>

void swap1(int& a,int& b)//使用中間變數交換兩個值


{


int temp = a;


a = b;


b = temp;


}

void swap2(int& a, int& b) //只用加法、減法、乘法也可以交換兩個值


{


a = a + b;


b = a - b;


a = a - b;


}

void swap3(int& a, int& b) //使用位運算也可以交換兩個值


{


a = a^b;


b = a^b;


a = a^b;


}

void main1mianshiti7()


{


int a1 = 1, b1 = 2;


int a2 = 10, b2 = 15;


int a3 = 78, b3 = 90;


int a = 2147483647, b = 1;


printf("a1=%p,b1=%p", &a1, &b1);


swap1(a1, b1);


swap2(a2, b2);


swap3(a3, b3);


printf("swap after~~~~~~~~~~~~~ ");


printf("a1=%d,b1=%d ", a1, b1);


printf("a2=%d,b2=%d ", a2, b2);


printf("a3=%d,b3=%d ", a3, b3);


swap2(a, b);


printf("a=%d,b=%d ", a, b);


system("pause");


}

源代碼截圖:

C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。[1]目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。

C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。

其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

❸ c語言中如何實現兩個字元的交換

有多種方法:
1 最常用的,中間變數法。
使用第三個中間變數交換a,b的值。
char a='-', b='+',c;
c = a;
a = b;
b = c;
實現專a,b值的交換。
2 利用加減法屬交換。
交換a,b值可以用
a+=b;
b=a-b;
a=a-b;
3 利用異或交換:
交換a,b值的代碼為:
a^=b;
b=a^b;
a=a^b;

❹ 在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。
c=a;a=b;b=c;
先將a的值賦給c,這時c的值等於a的值。
再將b的值賦給a,這時c的值仍等於a的值,a的值換成了b的值。
最後將c的值賦給b,也就是將原先a的值賦給b,b的值換成了原來a的值。
從而實現了a、b兩數的互換。
其實根本不需要引入參數c(利用參數只是最基礎最容易理解的方法)。
直接將a、b互換:
a+=b;a-=b=a-b;
就可以直接將a、b的值互換。
當然,方法還有很多,例如還可以利用函數實現a、b的值互換。

❻ C語言ab互換

第一個傳來遞的是值,源就是說將實參的值賦值給形參了,就相當於int a,b; a=b; a的值改變了,並不影響b的值。

第二個傳遞的是地址,數組名表示的就是數組的首地址,所以形參 char a[] 其實就是 char *a;
將實參的地址賦值給 a了,所以形參改變了,實參也改變了。
這就相當於 int a;int *p =&a; 如果 *p發生了變化,a的值也跟著發生變化。

❼ C語言交換變數值的幾種方法

方法一:三變數交換。

#include<stdio.h>
intmain(void)
{
inta,b;
scanf("%d%d",&a,&b);
intt=a;a=b;b=t;
printf("%d%d ",a,b);
return0;
}

方法二:加減交換

#include<stdio.h>
intmain(void)
{
inta,b;
scanf("%d%d",&a,&b);
a=a+b;
b=a-b;
a=a-b;
printf("%d%d ",a,b);
return0;
}

方法三:異或交換

#include<stdio.h>
intmain(void)
{
inta,b;
scanf("%d%d",&a,&b);
a=a^b;b=b^a;a=a^b;//可寫成a^=b^=a^=b;
printf("%d%d ",a,b);
return0;
}

方法四(黑盒測試下):不交換

#include<stdio.h>
intmain(void)
{
inta,b;
scanf("%d%d",&a,&b);
printf("%d%d ",b,a);
return0;
}

❽ C語言行列按位互換

#include<stdio.h>
void main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
printf("array a:\n");
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
printf("%d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("array b:\n");//括弧內你缺少右邊的引號
for(i=0;i<=2;i++)//注意i的取值
{
for(j=0;j<=1;j++)//注意j的取值,i,j的值你剛好弄反了
{
printf("%d",b[i][j]);
}
printf("\n");//你缺少這行代碼,不能有效的顯示
}
}
我已經調試過了,能正確運行,如果不行的話,提出你具體的問題!

❾ 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語言中如何將兩個數進行互換

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