关于两数交换的两种方法

目录

前言

一、引入变量(**这个方法也是最常用的方法**)

二、通过使用数学的方法相加或者相减从而得到两数运算(这种方法不常见)

总结


前言

从键盘输入两个整数,并交换两位数字,这里小编用两种方法告诉大家~~

(注意小编这里用的是VS2019,所以在代码的开头要加入宏定义#define _CRT_SECURE_NO_WARNINGS)

一、引入变量(**这个方法也是最常用的方法**)

这个方法也是最简单的方法,我们通过第三方变量先将数据保存下来,然后通过第三方变量将两个数交换,注意这里的数据类型要保持一致

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
    int a, b;
    int c;
    scanf("%d %d", &a, &b);
    c = a;
    a = b;
    b = c;
    printf("%d %d", a, b);
}

运行结果

10 20
20 10
D:\c程序\1\Debug\1.exe (进程 2668)已退出,代码为 0。
按任意键关闭此窗口. .

二、通过使用数学的方法相加或者相减从而得到两数运算(这种方法不常见)

优点:变量减少

缺点:存在数据溢出的可能,一般企业不会选择用这种方法,所以大家了解一下第二种方法就可以了~~

int main() {
    int a, b;
    scanf("%d %d", &a, &b);
    a = a + b;
    b= a - b;
    a = a - b;
    printf("%d %d", a, b);
}

运行结果

100 20
20 100
D:\c程序\1\Debug\1.exe (进程 18600)已退出,代码为 0。
按任意键关闭此窗口. . .

总结

方法一是大家常见简单的方法,方法二是通过数学思维交换函数,当然还有一种方法,可以根据方法二用异或的方式来进行两个数的交换,欢迎大家向小编提问第三种方法

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淡蓝色的经典

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值