前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言经典算法之交换两个变量的值

C语言经典算法之交换两个变量的值

作者头像
编程小顺
发布2021-10-13 10:35:38
2.5K0
发布2021-10-13 10:35:38
举报
文章被收录于专栏:知识小木屋知识小木屋

在C语言中,有一个经典的算法:交换两个变量的值。现在有两个数a和b,需要将a的值给b,b的值给a。下面我来分享几个方法完成这个算法吧!

方法一:借助第三个空变量

一个瓶子装满了酱油,一个罐子装满了白醋,试问如何将酱油和白醋互换?最容易的方法是另外去找一个空杯子,先将酱油倒入空杯子,再将白醋倒入瓶子,最后将酱油倒入罐子。三步即可完成酱油和白醋的互换。C语言里也可以模仿这个思路。

核心思路:

声明第三个变量t,先将a的值赋值给t,再将b的值赋值给a,最后将t的值赋值给b。这样就完成a值和b值的互换。

源代码如下:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
    int a = 5,b =10,t;
    t = a;
    a = b;
    b = t;
    printf("a = %d b = %d",a,b);
    return 0;
}

运行编译上面的源代码,将会输出以下结果:

代码语言:javascript
复制
a = 10 b = 5

方法二:纯数学思想

给定两个数a=5和b=10,先求a+b=15,然后b=15-10=5,最后a=15-5=10。

核心思路:

先将a+b赋值给a,赋值后的a=a+b=10+5=15,然后将a-b赋值给b,赋值后的b=a-b=15-10=5,最后将a-b赋值给a,赋值后的a=a-b=15-5=10。这样就完成a值和b值的互换。 源代码如下:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
    int a = 5,b = 10;
    a = a + b;
    b = a - b;
    a = a - b;
    printf("a = %d b = %d",a,b);
    return 0;
}

运行编译上面的源代码,将会输出以下结果:

代码语言:javascript
复制
a = 10 b = 5
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 知识小木屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档