不用中間變數交換兩個數
要求:不用第三變數將a和b兩個值交換。
方法:用 ^ 異或解決,同桌是這樣解決的,很聰明。
#include<stdio.h>
int main()
{
int a=13,b=31;
printf(“交換前:a=%d b=%d \n”,a,b);
b=a^b;//得出中間值
a=a^b;//a裡存的是b值
b=a^b;//b裡存的是a值
printf(“交換後:a=%d b=%d\n”,a,b);
return 0;
}
相關推薦
不用中間變數交換兩個數
要求:不用第三變數將a和b兩個值交換。 方法:用 ^ 異或解決,同桌是這樣解決的,很聰明。 #include<stdio.h> int main() { int a=13,b=31; printf(“交換前:a=%d b=%d \n”,a,b); b=a^b;//得出
不用中間變數交換兩個變數的值
解1: 加減法:該方法可以交換整型和浮點型數值的變數,但在處理浮點型的時候有可能出現精度的損失。 public void swap (int a, int b) { a = a + b; b = a - b; a = a - b; } 解2: 異
php不用第三個變量,交換兩個數的值
php 變量 //字符串版本 結合使用substr,strlen兩個方法實現$a="a";$b="b";echo ‘交換前 $a:‘.$a.‘,$b:‘.$b.‘<br />‘;$a.=$b;$b=substr($a,0,(strlen($a)-strlen($b)));$a=substr
不用使用中間變數讓兩個int變數的值互換
不用使用中間變數讓兩個int變數的值互換 這個問題在面試的時候出現概率很高,相信還有很多人不會 在回答這個問題前,讓我們先看看異或這個運算子 什麼是異或 變數的值不同時結果為1,值相同時結果為0 在java中異或的符號是 ^,具體運算結果看下錶:
不用中間變數,交換a、b值
如果要交換a、b之間的值,一般的做法是: tmp=a;a=b;b=tmp;這種方法不得不使用一個臨時變數。 從網上學來一個方法,可以不用使用臨時變數: a^=b^=a^=b; 這樣計算之後,就可以交換a、b值
1.給定兩個整形變數的值,將兩個值的內容進行交換2.不允許建立臨時變數,交換兩個數的內容
1.給定兩個整形變數的值,將兩個值的內容進行交換 #include<stdio.h> int main() { int i = 0; int j = 0; int temp = 0; scanf("%d %d",&i,&j); tem
不用第三個變數交換兩個變數的值
<?php // 不用php庫函式,將字串反轉 $i = 0; $str = 'hello world my name is SHUIPING_YANG '; while ($str[$i] !=
不使用中間變數進行兩變數之間交換
a = 4 b = 5 #one a = a+b b = a-b a = a-b #two a, b = b, a #three a = a^b b = a^b a = a^b print(a,b) 異或推導過程 1.a ⊕ a = 0 2.a ⊕ 0= a 由上知
如何在不使用第三個變數的條件下交換兩個數
摘要 對於數A=2,B=3,在不引入第三個變數C的條件下,交換使得A=3,B=2。 1. 加法算數運算 原理:如果我們知道兩數之和和其中一個數,那麼就可以得到另一個數。 // 為了更直觀地理解,我
不用引入第三變數交換兩個變數的值
前幾天發現了一個問題:有人告訴我,要進行變數交換,就必須引入第三變數! 假設我們要交換a和b變數的值,如果寫成 int a=5,b=10; a=b; b=a; 那麼結果就是兩個都是10,理由不言而喻。 所以就應該引入第三變數,在a的值被覆蓋之前就把a的值保留好。
交換兩個數不使用第三方變數=!!=深入理解按位異或運算子
不使用第三方變數交換兩個變數的值這需要進行位操作,必較麻煩的, 在學習程式語言和進行程式設計的時候,交換兩個變數的值是經常要使用的。通常我們的做法是(尤其是在學習階段):定義一個新的變數,藉助它完成交換。程式碼如下: int a,b; a=10; b=15; int
為什麽三次異或操作可以交換兩個數
找到 原來 們的 異或操作 去掉 進制 ont 交換兩個數 一位 a和b是兩個整數,經過以下三次異或操作,可以達到交換目的:a = a ^ b;b = a ^ b;a = a ^ b; 首先要理解,什麽是^(異或)操作: 二進制兩數運算結果: 0 ^ 0 = 0
java實現交換兩個數
out temp println rgs 交換兩個數 number 一個數 一句話 void package com.echo; public class SwapTwoNumbers { public static void main(String[] arg
【C語言】使用異或運算子交換兩個數
異或交換兩個數: #include<stdio.h> #include<stdlib.h> int main() { int a, b; a = 10; b = 20; a= a^b; b =a^b; a =a^b; printf("%d\n%d\n", a
Java—— 交換兩個數
方法一:使用第三方變數 程式碼: public class Change{ public static void main(String[] args){ int a=10; int b=8; System.out.println("輸出互換前手中的紙牌:"); Syste
交換兩個數的幾種方法
code alt pre temp emp 分享圖片 splay lin ons 第一種:利用第三方變量 1 int a = 10, b = 12; 2 int temp = 0; 3 temp = a; 4 a = b; 5 b = temp; 6 Console.W
乘法表函式+交換兩個數函式+判斷閏年函式+陣列初始化、清空和逆置函式+判斷素數函式
寫一個函式,列印所輸入數字的乘法表: #include <stdio.h> /* 寫一個函式,實現所輸入數字的乘法表 */ void table(int n) { for (int i = 1; i <= n; i++) { for (int j = 1; j
C語言交換兩個數
很多人C語言初學者都會疑惑為什麼交換兩個數結果卻不變。 下面我就給大家詳細介紹一下。 首先貼出原始碼,為了詳細說明,我已經稍作修改了,並且添加了註釋。 #include <stdio.h> void swap(int a, int b){ int temp; //
C語言中用不同的方法交換兩個數的值
在開始學習C語言的過程中,我們一定都做過這樣一道題,交換兩個數的值。可能大部分人都會這道題,但今天我想試試用不同的方法做這道題。 1、建立臨時變數 #include<stdio.h> int main() { int a = 10
C++ 利用指標以及引用交換兩個數
注意指標交換的是指標所指向的數,不是指標本身,這個要特別注意 #include <iostream> using namespace std; void swap(int& x, int& y); // 兩個數的交換引用 v