在C++中,交换两变量的值一般第一反应都会是如下的代码:
{
temp=a;
a=b;
b=temp
}
但是题目要求不允许使用临时变量temp呢?可能就需要想一会了。但也有解决办法:
{
b=a+b;
a=b-a;
b=b-a;
}
这种做法在a和b数值较小的情况下是对的,但是a+b如果很大则会溢出,所以也不是最优的解法。最好的方法是使用异或:
{
a ^= b...
分类:
编程语言 时间:
2014-09-21 17:10:00
阅读次数:
330
#include using namespace std;int main () { int a = 3; int b = 5; cout<<"a="<<a<<",b="<<b<<endl; a = a+b; ///a=7 b = a-b; ///b=3; ...
分类:
其他好文 时间:
2014-09-16 18:45:40
阅读次数:
197
list($a,$b)=array($b,$a);
分类:
Web程序 时间:
2014-09-11 23:38:52
阅读次数:
185
1、这需要进行位操作,必较麻烦的在学习程序语言和进行程序设计的时候,交换两个变量的值是经常要使用的。通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下:int a,b;a=10; b=15;int t;t=a; a=b; b=t;这种算法易于理解,特别适合帮助初学者了解...
分类:
其他好文 时间:
2014-08-31 10:27:11
阅读次数:
356
知识点:用第三变量交换两个变量的值。内容: 交换两数值输入说明:一行两个数输出说明:一行 两个数输入样例: 若题目没有特别说明,则应该以多组测试数据方式读取,或者参考a001。3 4输出样例 :4 3#include int main(){ int a,b,c; scanf("%d %d",&a,&...
分类:
其他好文 时间:
2014-08-03 10:13:25
阅读次数:
196
#includeint main(){ int a,b; scanf("%d %d",&a,&b); a=a+b; b=a-b; a=a-b; printf("%d %d",a,b); return 0; }
分类:
其他好文 时间:
2014-08-01 04:52:41
阅读次数:
174
1.void swap(int &x, int &y){
int...
分类:
其他好文 时间:
2014-07-30 20:47:34
阅读次数:
261
方法1:a=a+b;b=a-b;a=a-b;方法2:a^=b;b^=a;a^=b;方法3:a=a*b;b=a/b;a=a/b;
分类:
其他好文 时间:
2014-07-29 12:26:56
阅读次数:
170
我们知道,使用按位异或可以不用临时变量交换两个整型变量的值按位异或 可以用按位与、按位或、按位取反来模拟吗? js测试1
分类:
其他好文 时间:
2014-07-07 23:07:54
阅读次数:
407
1,异或运算^1)0和任何数异或都得到原来的数2)两个相同的数字异或得0.利用该性质常用来寻找数称对出现时缺失的某一个数异或运算可以用来1)判断一个数字是否是偶数(二进制表示中只有一位是0,n^(n-1)=0)2)寻找缺失的数字,如0-n中缺失的数字3)不使用第三方变量交换两个变量的值4)使用位运算...
分类:
其他好文 时间:
2014-06-15 22:34:14
阅读次数:
492