用c語言實現整型變數內容互換
阿新 • • 發佈:2018-12-10
對於給定的兩個整形變數的值,將兩個值的內容進行交換的問題,從兩個方面設計解決方案,下面為具體的演算法分析及程式。
演算法一:先建立兩個整形變數,並進行初始化。同時建立一個臨時變數,通過臨時變數,從而達到交換兩個整形變數內容的目的。
#include<stdio.h>
#include<stdlib.h>
int main(){
int a, b,c;
a = 5;
b = 10;
c = a;
a = b;
b = c;
printf("%d%d", a, b);
system("pause");
return 0;
}
**演算法二* *:當不能建立一個臨時變數時,我們可以對這兩個整形變數對應的二進位制數進行研究,能夠發現對應二進位制數之間的兩種關係:
第一種:兩個整形變數的內容之間存在加、減關係,具體程式如下:
#include<stdio.h>
#include<stdlib.h>
int main(){
int a = 5;
int b = 10;
a = a + b;
b = a - b;
a = a - b;
printf("%d%d", a, b);
system("pause");
return 0;
}
第二種:將兩個整形變數對應的二進位制數進行按位異或,能夠發現它們之間存在關係,具體程式如下:
#include<stdio.h>
#include<stdlib.h>
int main(){
int a = 5;
int b = 10;
a = a^b;
b = a^b;
a = a^b;
printf("%d%d", a, b);
system("pause");
return 0;
}