当前位置: 首页 > news >正文

深圳建立网站公司网站百度优化关键词

深圳建立网站公司网站,百度优化关键词,旅游网站 静态模板,做图网站有哪些东西文章目录 一、题目二、方法11,思路2,代码实现 三、方法21,思路2,代码实现 四、方法31,思路2,代码实现 总结 提示:以下是本篇文章正文内容,下面案例可供参考 一、题目 实现两个变量的…

文章目录

  • 一、题目
  • 二、方法1
    • 1,思路
    • 2,代码实现
  • 三、方法2
    • 1,思路
    • 2,代码实现
  • 四、方法3
    • 1,思路
    • 2,代码实现
  • 总结

提示:以下是本篇文章正文内容,下面案例可供参考

一、题目

实现两个变量的交换

输入:a = 5,b = 3;输出 :a = 3 ,b = 5。

二、方法1

1,思路

这个方法就是我们经常遇到此问题想到的空瓶交换,额外创建一个变量开辟一份空间来暂时存储变量。好比下方图片,我有三个碗,一个碗里面放了醋,一个放了酱油,我想将放酱油的碗里面放上醋,放醋的碗里面放上酱油。于是我需要第三个碗,先将酱油放在空碗内,在将醋倒进酱油碗中,在将空碗里的酱油放在醋碗中。

在这里插入图片描述

2,代码实现

代码如下(示例):

int main()
{int a = 5;int b = 3;int c = 0;printf("交换前:a = %d,b = %d\n", a, b);c = a;a = b;b = c;printf("交换后:a = %d,b = %d\n", a, b);return 0;
}

三、方法2

1,思路

这个是一个不创建中间变量的方法,但是此方法存在缺陷:如果a和b的很大,但是没有超出整型的大小,a和b的值的和超出了整型的大小,超出整形大小的值之后,有些值就溢出了丢了,这样和就不准确了,导致后面求出的值是错误的,所以这个方法交换得两个数之和不大于整型变量的最小存储值

  1. 先将a+b的值放在a中,此时a的值变成a+b
  2. 再将a-b的值放在b中,因为此时a变成了a+b,所以a-b的值等价于a+b-b=a,此时存放在b中的值变成a了。
  3. 最后一步将a-b的值放入a中,此时a的值还是a+b;b的值变成a了,所以a-b=b,此时存放在a中的值变成b了。
  4. 通过上面三步我们实现了a和b的交换。

2,代码实现

代码如下(示例):

int main() 
{int a = 5; int b = 3; printf("交换前:a = %d,b = %d\n", a, b); a = a + b; b = a - b; //此时b = a + b - b = a; a = a - b; //此时a = a + b - a = b; printf("交换后:a = %d,b = %d\n", a, b); return 0; 
}

四、方法3

1,思路

在这里我们采用的方法是c语言操作符的解法 ,在这里我们需要理解下面两个c语言位操作符——按位异或的规律才可以得到正确的解法

  1. a ^ a = 0,按位异或的规则是按照二进制位进行按位异或,相同的位为0,不相同为1.两个数都相同,相同所有位为0,所以所有数字都等于0
  2. a ^ 0 = a; 任何数与0异或都等于0,例如3^0 = 011^000 = 011 = 3;
  3. //a 0000 0000 0000 0000 0000 0000 0000 0101
    //b 0000 0000 0000 0000 0000 0000 0000 0011
    //^ 0000 0000 0000 0000 0000 0000 0000 0110 a = a^b
    //^ 0000 0000 0000 0000 0000 0000 0000 0101 b = a^b = a
    //^ 0000 0000 0000 0000 0000 0000 0000 0011 a = a^b = a

2,代码实现

代码如下(示例):

int main() 
{int a = 5; int b = 3; printf("交换前:a = %d,b = %d\n", a, b); a = a ^ b; b = a ^ b;  a = a ^ b;  printf("交换后:a = %d,b = %d\n", a, b); return 0; 
}

总结

上面是有关于交换两个数的三种求法,但是实际中还是应用第一种方法,如果没有硬性要求不能有中间变量建议使用第三种。如果大家还有其他的求解方法,欢迎大家留言小编及时补充。

http://www.hkea.cn/news/741297/

相关文章:

  • 水电行业公司设计logo重庆seo排名扣费
  • 可信赖的南昌网站制作站长工具网站
  • 济南建站公司电话成都关键词自然排名
  • 门户网站开发公司推广网页
  • 如何做网站认证实时军事热点
  • 上海的网站建设公司哪家好企业网站建设
  • 专业b2c电商网站制作网站推广要点
  • 现在的网站用什么程序做百度云官网登录入口
  • vs做网站怎样加数据库新闻小学生摘抄
  • 广州做网站mxszpt小说排行榜
  • 有什么网站是python做的网站营销策划公司
  • 长春有什么好的网站制作公司链接购买
  • 毕设网站佛山网站建设十年乐云seo
  • 北京做网站建设的公司哪家好手机怎么创建网站
  • winforms做网站注册百度账号
  • 玉泉路网站建设营销培训课程有哪些
  • 渭南做网站费用搜索引擎排名优化是什么意思
  • 做网站开发需要学什么软件微信公众平台开发
  • 网站整体营销方案网络营销的特点是什么?
  • 国内知名的网站建设公司有哪些百度指数专业版app
  • 画画外包网站如何推广一个网站
  • 互联网公司响应式网站深圳google推广
  • 深圳网站设计哪好什么推广平台比较好
  • 打开英文网站字体不对教程seo推广排名网站
  • 昭通市建设局网站太原百度关键词优化
  • 个人建网站允许吗seo职位要求
  • 环保网站设计网络营销优化推广
  • 网页设计网站制作公司冯耀宗seo视频教程
  • 怎么用路由器做网站百度指数平台官网
  • 济南做网站互联网公司有哪些seo是什么公司