【C语言入门】实现两数交换的几种简单方式

本文详细介绍了C语言中三种实现两数交换的方法:借用第三变量、仅用两变量和自定函数,分析了各自的优缺点和适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#C语言入门

前言

本篇文章主要以C语言中的实现两数交换的几种方法展开介绍。

个人见解,若有不足或错误可沟通指正

1.方法介绍

在C语言中实现两数交换的方法有多种,这里简单介绍三种

(1)借用第三变量实现两数交换

(2)仅用两变量实现两数交换

(3)使用自定函数实现两数交换

下面将展开介绍这三种方法

2.方法详解

2.1借用第三变量实现两数交换

借用第三变量,顾名思义就是在原有的两变量的基础上再用一个变量实现两数交换

源码:

#include<stdio.h>
int main()
{
double num1, num2, num3;
printf("请输入要交换的数\n");
scanf("%lf%lf",&num1,&num2);
printf("交换前\n数1 %lf 数2 %lf\n", num1, num2);
num3 = num1;
num1 = num2;
num2 = num3;
printf("交换后\n数1 %lf 数2 %lf\n", num1, num2);
return 0;
}

代码解释

头文件
#include<stdio.h>
int main()
{

return 0;
}

头文件部分不在做过多解释,不理解的可以翻看前面出的文章

代码核心
num3 = num1;
num1 = num2;
num2 = num3;

 解释

首先将num1的值赋给num3,num3=原num1

其次将num2的值赋给num1,现num1=原num2

最后将num3的值赋给num2,现num2=num3

此时就将num1与num2的值完成了转换。

运行结果:

看法:

这是最基础也是最为常见的两数交换方法,相较另外两种该种较为冗杂。

2.2仅用两变量实现两数交换

这种方法不引用第三变量就可完成两数交换

源码:

#include<stdio.h>
int main()
{
	double num1, num2;
	printf("请输入要交换的数\n");
	scanf("%lf%lf", &num1, &num2);
	printf("交换前\n数1 %lf 数2 %lf\n", num1, num2);
	num1 = num1 + num2;
	num2 = num1 - num2;
	num1 = num1 - num2;
	printf("交换后\n数1 %lf 数2 %lf\n", num1, num2);
	return 0;
}

代码解释

代码核心
    num1 = num1 + num2;
	num2 = num1 - num2;
	num1 = num1 - num2;
解释

首先将num1与num2的和赋给num1,现num1=sum(代指num1+num2)

然后将num1-num2赋给num2,现num2=sum-num2=num1

最后将num1-num2赋给num1,现num1=sum-现num2=sum-num1=num2.

此时也就完成了两数转换。

运行结果:

看法:

该方法相较上一种不需要定义第三变量,代码更加简短,使用更加方便。

2.3使用自定函数实现两数交换

自定函数就要是自己封装的一个函数,将两数交换的方法放到一个自己写的函数体中,然后在使用的时候对其调用。

源码:

#include<stdio.h>
double swap(double tem1, double tem2)//自定函数
{
	double tem3;
	tem3 = tem1;
	tem1 = tem2;
	tem2 = tem3;
	printf("交换后\n数1 %lf 数2 %lf\n", tem1, tem2);
}
int main()//主函数
{
	double num1, num2;
	printf("请输入要交换的数\n");
	scanf("%lf%lf", &num1, &num2);
	printf("交换前\n数1 %lf 数2 %lf\n", num1, num2);
	swap(num1, num2);//对自定函数进行引用

	return 0;
}

代码解释

代码核心
double swap(double tem1, double tem2)
{
	double tem3;
	tem3 = tem1;
	tem1 = tem2;
	tem2 = tem3;
	printf("交换后\n数1 %lf 数2 %lf\n", tem1, tem2);
}
 解释

这就是一个自定的返回类型为double类型,函数名为swap的自定函数;

swap后小括号中放的是两个形参

中括号内的是函数体,内容解释可参考2.1的解释

在使用时只需引用

swap(实参1,实参2);

如上文源码

运行结果

看法:

这种方式适用于需要多次使用的场景,可以多次调用,减少占用空间和打代码时间。

写在最后

以上就是对使用C语言实现两数交换的几种方式介绍,几种方式各有千秋,希望对大家有用。

如有疑问或错误请在评论区提出或指正,创作不易,不喜勿喷。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

衫裤_跑路

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

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

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

打赏作者

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

抵扣说明:

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

余额充值