C语言交换变量值的几种方法

C语言交换变量值的几种方法,第1张

方法一:三变量交换。

#include<stdio.h>

int main(void)

{

int a,b

scanf("%d%d",&a,&b)

int t=aa=bb=t

printf("%d %d\n",a,b)

return 0

}

方法二:加减交换

#include<stdio.h>

int main(void)

{

int a,b

scanf("%d%d",&a,&b)

a=a+b

b=a-b

a=a-b

printf("%d %d\n",a,b)

return 手竖橘0

}

方法三:异或交纤纯换

#include<stdio.h>

int main(void)

{

int a,b

scanf("%d%d",&a,&b)

a=a^bb=b^aa=a^b//可写成a^=b^=a^=b

printf("%d %d\n",a,b)

return 0

}

方法四(黑盒测试下):不交换

#include<stdio.h>

int 毕团main(void)

{

int a,b

scanf("%d%d",&a,&b)

printf("%d %d\n",b,a)

return 0

}

c语言中用函数交换两个变量的值方法是先将变量赋值给中间变量,然后中间变量再赋值给另外一个变量,程序如下:

#include "Stdio.h"

#include "Conio.h"

void swap(int x,int y)

{

int t,m

t=x //变量x赋值给中间变量李或t

m=y   //变量y赋值给中间变量m

x=m   //中间变量m赋值给变量x,将y的值赋值给了x。

y=t     //中间变量t赋值给变量y,将x的值赋值给了y。

}

main()

{

int a,b

a=1,b=2

swap(a,b)//调用交换函数

printf("%d,%d",a,b)

getch()

}

扩展资料:

C语言的语法结构:

1、顺序结构

顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句枣拦就行,它的执行顺序是自上而下,依次执行。

例如:a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子里面的水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为:c = a; a = b; b = c;执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b =c;则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。

顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算、输出三步曲的程序就是顺序结构。

2、选择结构

对于要先做判断再选择的问题就要使用选择结构。选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。选择结构的程序设计方法的关键在于凳扰胡构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的选择语句。

选择结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。

3、循环结构

循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即goto循环、while循环、do while循环和for循环。

四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误。

参考资料来源:百度百科-C语言

将两个数进行互换的方法有两种形式:

1、借助中间纳拆变量完成,此方法直观,易理解,使用最多

2、不需要中间变量,通过变量身的运算完成交换。

参考代码:

方法1:

int a=2,b=3,t

t=a//先将a存储到临时变量t中

a=b//将b存储到a中

b=t//将临时变量中的原a值存储到b中

printf("a=%d b=%d\n", a,b )

方法2:

int a=2,b=3,t

a += b //把两数之和存到a中

b= a-b //用两数和减去b可得原a,存储到b中

a= a-b //因为b现在是原a值,所以,用两数碰慧和减去b(原a)可笑茄答得 原b,存储到a中

此方法,还可以用异或运算来实现,原理相同。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/8245680.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存