您的位置:首页 > 编程语言 > C语言/C++

【C语言】实现交换两个数的大小

2016-09-18 23:30 211 查看
将两个数进行交换,我们可以这样做:

1,创建一个临时变量,将其进行交换:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j;
int tmp= 0;
printf("请输入需要交换的两个数:\n");
scanf("%d %d",&i,&j);
tmp = i;
i = j;
j = tmp ;
printf("交换后的两个数为:%d %d\n",i,j);
return 0;
}

2,由于创建变量需要开辟空间,如果我们要求不创建临时变量的话,可以这样做:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>

int main()
{
int a,b;
printf("请输入要交换的两个数:\n");
scanf("%d %d",&a,&b);
a = a+b;
b = a-b;
a = a-b;
printf("交换后的两个数为:%d %d",a,b);
return 0;
}

 我们可以通过进行加减乘除来交换两个数,但是会有缺陷,于是我们可以采用另外一种方法....,,,

3,通过异或来将两个数交换

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a = 0;
int b = 0;
printf("请输入要交换的两个数:\n");
scanf("%d %d",&a,&b);
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;
}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  两个数 交换