精华内容
下载资源
问答
  • 今天分享一个简单的程序-交换两个数的值: 方法一:定义一个中间变量来交换两个数的值 #include<stdio.h> #include<stdlib.h> int main() { int a, b,temp = 0; printf("Please...

    今天分享一个简单的程序-交换两个数的值:

    方法一:定义一个中间变量来交换两个数的值

    #include<stdio.h>
    #include<stdlib.h>
    
    int main()
    {
    	int a, b,temp = 0;
    	printf("Please input the a and b:");
    	scanf_s("%d %d",&a,&b);
    	temp = a;
    	a = b;
    	b = temp;
    	printf("%d %d",a,b);
    	system("pause");
    	return 0;
    }
    

    方法二:不允许定义中间变量,直接强行两数交换

    #include<stdio.h>
    #include<stdlib.h>
    
    int main()
    {
    	int a, b;
    	scanf_s("%d %d",&a,&b);
    	a = a + b;
    	b = a - b;
    	a = a - b;
    	printf("%d %d",a,b);
    	system("pause");
    	return 0;
    }
    

    执行结果如下:
    在这里插入图片描述
    讲下方法二,先把a+b的值存在a中这样a的值就是a+b,b是原来的b,然后把a-b的值存到b中,然后a的值为a+b,b的值为a,最后把a-b的值存到a中,这样a和b的值就得以交换。
    当然永远记住一点就是a,b的值不能直接用a=b这样的话来交换的,这样是不能交换的。

    展开全文
  • C语言交换两个数的值

    万次阅读 2018-06-03 22:03:25
    C语言交换两个数的方法 方法一:利用中间变量 int a =10,b=20; int tmp; tmp = a; a = b; b = tmp; 方法二:利用迭代 int a = 10,b=20; a = a+b; b = a-b; a = a-b;

    C语言中交换两个数的方法
    方法一:利用中间变量

    int  a =10,b=20;
    int tmp;
    tmp = a;
    a = b;
    b = tmp;

    方法二:利用迭代

    int a = 10,b=20;
    a = a+b;
    b = a-b;
    a = a-b;
    展开全文
  • C语言中要实现交换两个数的值,可以有很多种方法,具体如下所述。 不使用中间变量: 1 // 异或, a^=b^=a^=b; 2 a ^= b; 3 b ^= a; 4 a ^= b; 5 6 // 加减 7 a = a + b; 8 b = a - b; 9 a = a ...

    C语言中要实现交换两个数的值,可以有很多种方法,具体如下所述。

    不使用中间变量:

     1 // 异或, a^=b^=a^=b;
     2 a ^= b;
     3 b ^= a;
     4 a ^= b;
     5 
     6 // 加减
     7 a = a + b;
     8 b = a - b;
     9 a = a - b;
    10 
    11 // 乘除
    12 a = a * b;
    13 b = a / b;
    14 b = a/ b;

    使用中间变量:

    1 // 需临时空间
    2 temp = a;
    3 a = b;
    4 b = temp;

     

    正如你所想的那样,上面所示代码只是描述了交换两个数的值的思想,在你实际使用时,还有诸多地方需要注意。你可以选择宏来实现,亦或函数是实现,下面就一一为你道来。

    宏实现:

    1 #define swap(a, b) \
    2     (a) ^= (b); \
    3     (b) ^= (a); \
    4     (a) ^= (b)

    注:宏实现主要针对不使用中间变量就完成交换两个数的值,上述代码只描述了异或,其他以此类推。

    函数实现:

     1 // 错误实现
     2 void swap(int a, int b)
     3 {
     4     int temp = 0;
     5     temp = a;
     6     a = b;
     7     b = temp;
     8 
     9     return;
    10 }
    11 
    12 // 正确实现
    13 void swap(int *a, int *b)
    14 {
    15     int temp = 0;
    16     temp = *a;
    17     *a = *b;
    18     *b = temp;
    19 
    20     return;
    21 }

    注:函数实现对使用中间变量和不使用中间变量都适用。

     

    分析:

    错误实现是由于a与b为形式参数,在函数内部实现了交换,但是对外部实参是没有影响的,真正的能够实现交换两个数值是正确实现所示那样,由于形参为两个指针,指针就是地址,在交换的时候是把两个地址中的值进行了交换,当函数运行结束,就实现两个数值的交换了。

    转载于:https://www.cnblogs.com/orangeyang/p/4353881.html

    展开全文
  • 交换两个数的值 方法一:(创建临时变量来交换两个数的值) tem=a; a=b; b=tem; 方法二:(不创建临时变量) a=a+b; a 10~30 b 20 b=a-b; a 30 b 20~10 a=a-b; a 30~20 b 10 缺点:a+b有可能溢出 ...

    交换两个数的值

    • 方法一:(创建临时变量来交换两个数的值)

    tem=a;

    a=b;

    b=tem;

    • 方法二:(不创建临时变量)

    a=a+b;    a 10~30 b 20

    b=a-b;    a 30    b 20~10

    a=a-b;    a 30~20 b 10

    缺点:a+b有可能溢出

    • 方法三:按二进制位异或

    (两个二进制位相同为0.相异为1)

    a=a^b;

    预备知识:
    a   ->01010 
    b   ->10100
    a^b ->11110
        ->01010  a
        ->10100    b  a和b的交换
    b=a^b;
    a=a^b;

    源代码:(这里我只贴了第一种方法的源码,其他方法换相应的代码块即可)

    #include<stdio.h>
    #include<stdlib.h>
    int main(){
    	int a = 10;
    	int b = 20;
    	printf("a=%d b=%d\n", a, b);
    	int tem = a;
    	a = b;
    	b = tem;
    	printf("a=%d b=%d\n", a, b);
    	system("pause");
    	return 0;
    }
    展开全文
  • 啊,很详细啊!C语言程序设计之交换两个数的值
  • c语言交换两个数的值的几种方法

    万次阅读 2019-03-23 10:06:08
    //指针变量交换两个数的值,函数内部要交换两个数的值要通过指针交换 { int t = *x; *x = *y; *y = t; } 2.异或法 根据将某个数与另一个数连续与或两次,可得到本身。将两个数进行与或运算,再分别与...
  • 创建临时变量交换两个数的值,只需要创建一个临时变量temp就可以做到。 相关代码: #include int main() { int n = 10; int m = 50; int temp = 0; printf("n = %d m = %d\n", n, m); temp = n; n = m; m...
  • 从题目入手,不允许创建临时变量,交换两个数的值。既然是数那就可以进行相应的运算。在深入想想,答案就出来了。那我们假设有两个变量a和b,分别赋值4和8。整个交换过程分三步:第一步,把a与b的和赋值给a,此时a=1...
  • 通过临时变量将两个数的内容进行交换 #include <stdio.h> #include <Windows.h> #pragma warning(disable:4996) void swap() { int a,b; int temp; scanf("%d %d", &a, &b); printf("before...
  •   在开始学习C语言的过程中,我们一定都做过这样一道题,交换两个数的值。可能大部分人都会这道题,但今天我想试试用不同的方法做这道题。   1、创建临时变量 #include&lt;stdio.h&gt; int main() { ...
  • C语言】三种方法交换两个数的值

    千次阅读 2019-05-19 22:04:23
    三种方法交换两个数的值: 方法一:利用中间变量,以此依托交换两个数的值 方法二:利用两数之间互相加减,来实现两数的交换 方法三:利用按位异或^来实现两数的交换,注意两数需转换成二进制比较 #define _...
  • c语言程序设计题目二:交换两个数的值 #include <stdio.h> #include <stdlib.h> int main() { double firstNumber, secondNumber, temporaryVariable; printf("输入第一个数字:"); scanf("%lf", &...
  • 喜欢同学记得点赞、转发、收藏哦~后续C语言经典100例将会以pdf和代码形式发放到公众号欢迎关注:计算广告生态 即时查收1 题目函数:max()、swap()功能:使用指针交换两个数组中最大描述:输入两个五个元素...
  • 使用函数实现两个数的交换。 二、分析 使用中间变量,来进行两个变量的值交换。 三、代码 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int main() { int* a = 1; ...
  •  swap函数调用时首先创建x,y的变量副本,我们姑且称之为x2,y2(其实名字依然是x和y,只不过这里的x和y只在swap函数里有意义),并将main函数中x,y的值传给变量x2,y2,然后函数交换了x2,y2的值,运行完函数后x2...
  • 下边是一例子#include void change(int x,int y) { int tmp; tmp=x; x=y; y=tmp; } int main() { int a=5; int b=3; change(a,b); printf("a=%d\nb=%d\n",a,b); } 下图是调试过程 首先找到函数
  • 交换两个变量a、b的值 代码如下: #include<stdio.h> int main() { void swap1(int p1,int p2); void swap2(int *p1,int *p2); int *p1,*p2,a,b; p1=&a; p2=&b; printf("请输入a、b的值:"); ...
  • C语言之利用函数交换两个数的值

    千次阅读 2018-01-10 20:46:43
    #define _CRT_SECURE_NO_WARNINGS #include void Swap(int *px,int *py) { int tmp = *px; *px = *py; *py = tmp; } int main() { int a = 1; int b = 2; Swap(&a,&b); printf("a = %
  • 对于这到题目如果在创建新实例下交换两个变量的值那是非常简单的,无非就是定义一个中间变量temp来互换,那么对于在不创建新实例的情况下实现互换的话,也很简单。 (1) a = a + b;  b = a - b;  a = a - b; (2...
  • #include<stdio.h> int main() { int a=2,b=3; int temp; if(a!=b) { temp=a; a=b; b=temp; } printf("a=%d,b=%d",a,b); return 0; }

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 463
精华内容 185
关键字:

交换两个数的值c语言

c语言 订阅