数值交换(10 分) 您所在的位置:网站首页 c语言数值交换用函数表达吗 数值交换(10 分)

数值交换(10 分)

2024-07-06 15:55| 来源: 网络整理| 查看: 265

数值交换是一种在任何编程语言中都经常被使用的技巧,现在请你用C语言实现两个数值的交换。

输入格式:

输入两个整数a,b

输出格式:

交换a和b的值并输出。

输入样例:

3 4

输出样例:

 4 3

法一: #include int main() { int x,y; scanf("%d %d", &x, &y); int t = x; x = y; y = t; printf("%d %d", x, y); //三变量交换法 return 0; }

此方法需要创建临时变量,这种方法最简单也最容易想到,但有时候会让我们不创建临时变量来进行数值交换。那我们就需要掌握一些别的方法呦!

法二: #include int main() { int x, y; scanf("%d %d", &x, &y); x = x + y; y = x - y; x = x - y; printf("%d %d", x, y); //加减法 return 0; }

此方法不需要创建临时变量(利用两数的和去减任意一个数),缺陷是两个数的和可能会越界。所以,我们在数值小的时候可以用。如果我们需要写这样的被调用函数,同样这是一种假交换,函数调用结束后原本的值并没有真正交换。

法三: #include int main() { int x, y; scanf("%d %d", &x, &y); x = x ^ y; y = x ^ y; x = x ^ y; printf("%d %d", x, y); //异或运算 return 0; }

此方法同法二不需要创建临时变量(利用异或),这里简单说一下,异或的意思是判断两个相应的位值是否为“异”,为“异”(值不同)就取真(1),否则取假(0)

此方法是基于二进制运算的基础,属于位运算中的一种运算



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有