C語言:給定兩個整形變數的值,將兩個值的內容進行交換
給定兩個整形變數的值,將兩個值的內容進行交換,有三種不同的方法。
第一種:定義一個中間變數,使得兩個數值交換。
第二種:利用兩個數值之間相互加減,使得兩個數值交換。
第三種:利用異或運算,使得兩個數值交換。
第一種方法程式碼如下:
#include<stdio.h>
int main()
{
int a=1;
int b=2;
int temp;
temp=a;
a=b;
b=temp;
printf("a=%d b=%d\n",a,b);
return 0;
}
第二種方法程式碼如下:
#include<stdio.h> int main() { int a=1; int b=2; a=a+b; b=a-b; a=a-b; printf("a=%d b=%d\n",a,b); return 0; }
第三種方法程式碼如下:
#include<stdio.h>
int main()
{
int a=1;
int b=2;
a=a^b;
b=a^b;
a=a^b;
printf("a=%d b=%d\n",a,b);
return 0;
}
相關推薦
C語言:給定兩個整形變數的值,將兩個值的內容進行交換
給定兩個整形變數的值,將兩個值的內容進行交換,有三種不同的方法。第一種:定義一個中間變數,使得兩個數值交換。第二種:利用兩個數值之間相互加減,使得兩個數值交換。第三種:利用異或運算,使得兩個數值交換。第一種方法程式碼如下: #include<stdio.h> int main() {
c語言:找出1到4000中,數字的各位數之和能被4整除的數有多少個?
找出1到4000中,數字的各位數之和能被4整除的數,如:745:7+4+5=16,16可以被4整除;28:2+8=10,10不能被4整除;745就是這樣的特殊數字,而28不是,求:這樣的數字共有多少個?解:(1)對於4000,4+0+0+0=4,顯然4000是滿足條件的數字;
給定兩個變數將兩個變數的值內容進行交換的三種方法
建立一個void swap(int a,int b){}函式,賦值作為被調函式 void swap(int *p1,int *p2) { int tmp = *p1; int *p1 = *p2; int *p2 = tmp; } int main() { in
C語言:二分查詢的遞迴法、將斐波那契數列改為遞迴版本
#include<stdio.h> //二分查詢的遞迴法 void Search(int p[],int low,int height,int key) { int middle=(low+height)/2; if(l
C語言:字串逆置(迴圈法,遞迴寫法)
環境:Windows8,Visual Studio 2013 語言:C語言 字串逆置: 將一個一直字串的順序逆序排放保存於同一個空間內,長度,記憶體地址均不改變 方法一:
c語言:圖書館管理系統(含續借,清欠款操作)
/***************************************** ** 圖書館管理系統 ** ** 登入介面: ** ** 1.學生登入
c語言:任給三條邊長,判斷能否構成三角形,如果能,求出其面積和周長
任給三條邊長,判斷能否構成三角形,如果能,求出其面積和周長程式:#include<stdio.h>#include<math.h>int main(){double a, b,
c語言從鍵盤中輸入一串字串,將字元中的大寫轉化成小寫字母,將小寫字母轉換成大寫字母,以*號鍵結束
#include <stdio.h> int main(int argc, const char * argv[]) { char c; c=getchar(); while (c!='*') { if(c
C語言:指針實現交換兩個變量的值
實現 urn sign ret 語言 div title void itl 用指針交換兩個變量的值(10分) 題目內容: 用指針交換兩個變量的值 主函數參考: int main( ) { int a,b; scanf("%d%d",&a,&b)
C語言:程式設計實現兩個矩陣
輸入一個3乘4矩陣✖️4乘5矩陣,輸出一個3乘5的矩陣 #include<stdio.h> int main() { int matrix1[3][4],matrix2[4][5],matrix3[3][5]; int i,j,k; int jz3[
[日常練習] 4. 基於交換兩整形變數值的三種方法的C語言實現。
當面試題遇到:交換兩整形變數的值。你是感到無比的“慶幸”遇到這麼簡單的面試題,還是有一點“慌張”,怕是自己想的太簡單了吧!今天我們就來處理幾道小題,並且深入探討一下交換兩整形的3種C語言實現方法!當你再遇到這種問題的時候,你將一點都不慌!你,穩得一批! 練習題目: 1. 給定兩個整形
C語言:比較兩個字串是否相等
1) 使用strcmp進行比較 下面通過一個例子進行演示: #include <stdio.h> #include <string.h> int main(void) { char* str1 = "abc"; char* str2 = "a
C語言:strcmp比較兩個字串是否相等
#include<stdio.h> #include<string.h> //比較兩個字串是否相等,(或者說前字串比後字串不同的地方大幾) int My_strcmp( const char *str1
c語言:輸入兩個正整數m和n,求其最大公約數和最小公倍數
輸入兩個正整數m和n,求其最大公約數和最小公倍數。解:程式:#include <stdio.h>int main(){int num1, num2, t,p;printf("請輸入兩個正整數
【C語言】給定兩個整型變數的值,將兩個值的內容進行交換(不同方法)
給定兩個整型變數的值,將兩個值的內容進行交換,現在我介紹幾種不同的實現方法:法1:在主函式裡實現,這樣操作這兩個值時並未重新開闢空間,直接交換可以達到目的。#include<stdio.h> #include<stdlib.h> int m
c語言:實現對於給定的正整數N,依次打印出小於等於N的所有素數。兩種方法及其優化
請編寫一個程式,實現對於給定的正整數N,依次打印出小於等於N的所有素數。方法一:試除法由素數的定義得到如下程式:#include<stdio.h>int print_prime(int num)//prime表示素數{int i = 0;for (i = 2; i
c語言:2種方法;求兩個整數之中的較大者
方法一:程式:#include<stdio.h>int main(){int x,y,z; scanf ("%d %d",&x,&y);if(x>y){z=x;}el
C語言:計算兩個集合的並集
#include<stdio.h> #include<stdlib.h> #include<time.h> #define NUMBER1 7 #define NUMBER2 5 void createCollect(int [],int
C語言:寫兩個函式,分別求兩個最大公約數和最小公倍數
題目:寫兩個函式,分別求兩個整數的最大公約數和最小公倍數,用主函式呼叫這個兩個函式,並輸出結果。兩個整數由鍵盤輸入 分析:求最大公約數,需要用到輾轉相除法: 輾轉相除法:設兩數為a、b(a>b
c語言:把只含因子2、3和5的數稱為醜數,求按從小到大的順序的第1500個醜數(兩種方法比較)
把只含因子2、3和5的數稱為醜數,求按從小到大的順序的第1500個醜數。例如6、8都是醜數,但14不是,因為它包含因子7。習慣上把1當作第1個醜數。演算法1:逐個判斷每個整數是不是醜數的解法,直觀但不夠高效#include<stdio.h>int ugly(int