当前位置:首页 » 编程语言 » c语言中交换程序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言中交换程序

发布时间: 2022-05-06 04:12:58

c语言 将变量A和B的值进行互换 的程序

代码如下:#include<stdio.h>


#include <stdlib.h>

void swap1(int& a,int& b)//使用中间变量交换两个值


{


int temp = a;


a = b;


b = temp;


}

void swap2(int& a, int& b) //只用加法、减法、乘法也可以交换两个值


{


a = a + b;


b = a - b;


a = a - b;


}

void swap3(int& a, int& b) //使用位运算也可以交换两个值


{


a = a^b;


b = a^b;


a = a^b;


}

void main1mianshiti7()


{


int a1 = 1, b1 = 2;


int a2 = 10, b2 = 15;


int a3 = 78, b3 = 90;


int a = 2147483647, b = 1;


printf("a1=%p,b1=%p", &a1, &b1);


swap1(a1, b1);


swap2(a2, b2);


swap3(a3, b3);


printf("swap after~~~~~~~~~~~~~ ");


printf("a1=%d,b1=%d ", a1, b1);


printf("a2=%d,b2=%d ", a2, b2);


printf("a3=%d,b3=%d ", a3, b3);


swap2(a, b);


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


system("pause");


}

源代码截图:

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。[1]目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

Ⅱ C语言中怎样交换两个字符串

C语言中交换两个字符串需要借助strcpy函数或者使用自定义交换函数进行交换

如交换a,b数组中的字符串代码:

chara[10]="abed",b[10]="efg",t[10];
strcpy(t,a);//a复制给t
strcpy(a,b);//b复制给a
strcpy(b,t);//t复制给b

附:strcpy函数详情

原型声明:

char*strcpy(char*dest,constchar*src);

头文件:

#include<string.h>和#include<stdio.h>

功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间

说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。

Ⅲ c语言怎么实现两个数据交换

将两个数进行互换的方法有两种形式:
1、借助中间变量完成,此方法直观,易理解,使用最多
2、不需要中间变量,通过变量身的运算完成交换。

Ⅳ 在C语言中如何将两个数进行互换

方法1: 使用一个临时变量来进行保存,这应该也是大家最容易想到的方法,话不多说,直接上代码。

参考代码:

#include<stdio.h>
intmain()
{inta=4;
intb=5;
intnTemp;
printf("交换前a,b的值为: ");
printf("a=%d ",a);
printf("b=%d ",b);
printf(" ");
nTemp=a;
a=b;
b=nTemp;
printf("----------------------------------我是分割线------------------------------------ ");
printf("交换前a,b的值为: ");
printf("a=%d ",a);
printf("b=%d ",b);
return0;
}

运行结果:

Ⅳ C语言交换两个数字的代码

首先要捋顺一下,先看第一段程序。这段程序的目的就是为了将两个变量的数值进行交换。此时要明白指针的使用方法,这里的交换函数是void swap(int &x, int &y),即无返回值的函数,函数传递的参数是int &x和int &y,这两个东西是什么呢?这两个东西是定义的引用,而这个我们就可以理解为是两个用来存储传递进来的参数的地址的变量(这么说可能有点乱,其实就是将调用该函数是时传递进来的变量的地址给这两个参数),所以如果在这个swap函数中对这两个参数操作时,实际上就是对传递进来的那两个变量进行操作。至于你问的关于整型的问题,这个也很好理解,在c语言里地址就是整型的,而这两个变量定义的时候也是int整型的,所以无论是地址还是值都是整型的,而又因为*a和*b是一个指针指向的值,所以*a、*b是整型,而&a、&b是指针的地址,所以也是整型。

接下来看你第二段程序(你自己写的这个):
看程序前请仔细查看关于函数方面的资料,至于你这个return为什么是错的这个问题其实很简单,首先要了解一个函数的定义,定义函数简单的可以分为有返回值和无返回值的,有返回值的定义类似这样
int abc();
float bcd();
如上所示,函数名什么的都好理解,函数名前面的"int"和"float"是指函数返回的类型,即你这个函数在执行完之后需要用return语句返回一个值,而这个返回类型就是指这个返回值的类型。
还有一种是不需要返回值的,即
void abc();
void cde();
这类函数在执行完成后不需在最后添加return语句来返回值,如果添加了也用不了。
而你写的这个函数定义的是
int swap(int x,inty)
这里声明的是一个需要返回整型变量的函数,而这个函数里你的返回值语句return后没有跟任何变量或值,程序不知道你返回的是什么东西,所以会报错,这里一般都会填写return 0;表示程序执行完成。当然这个0也可以换成整型的变量。

最后说一下你这个程序,你这个程序在执行完成后是不会将需要交换的变量a和b的值进行交换的。这个关系到形参和实参的概念,请仔细查看书籍或看一些例子,你这个只是将形参的值交换了,真正的需要交换的值不会改变,也就是说你只是将a和b的两个值复制了一份,然后将复制了的那个交换了,当swap函数完成后又将复制了的那份删除掉了,所以说,不管怎样最初的a和b都没有受到任何影响。

Ⅵ 编写c语言程序,实现交换两个变量值的操作。

#include<stdio.h>

int main()
{int a,b,c;
a=5;
b=9;

printf("交换前a=%d,b=%d\n",a,b);

printf("交换后a=%d,b=%d\n",b,a);
return 0;
}
我这样做可以换值,不过我总觉得有点怪怪的。

Ⅶ c语言中如何实现两个字符的交换

有多种方法:
1
最常用的,中间变量法。
使用第三个中间变量交换a,b的值。
char
a='-',
b='+',c;
c
=
a;
a
=
b;
b
=
c;
实现a,b值的交换。
2
利用加减法交换。
交换a,b值可以用
a+=b;
b=a-b;
a=a-b;
3
利用异或交换:
交换a,b值的代码为:
a^=b;
b=a^b;
a=a^b;

Ⅷ C语言编程,如何做两数交换程序

现设一个变量a
int
a;
a=m;把m的值赋给a,此时a=3,m=3,n=5;
m=n;把n的值赋给m,此时a=3,m=5,n=5;
n=a;把a的值赋给n,此时a=3,m=5,n=3;
就完成m和n的两数交换

Ⅸ c语言 编一程序 交换两个变量的值(用指针做函数参数)

#include <stdio.h>

void Swap(int a,int b)

{

int tmp = a;

a = b;

b = tmp;

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

}

int main()

{

int a = 5;

int b = 10;

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

Swap(a,b);

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

return 0;

}

(9)c语言中交换程序扩展阅读:

形参和实参的特点

1、形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量。

2、实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值。

3、实参和形参在数量上,类型上、顺序上应严格一致,否则就会发生类型不匹配的错误。

4、在一般传值调用的机制中只能把实参传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参值发生改变,而实参中的值不会变化。而在引用调用的机制当中是将实参引用的地址传递给了形参,所以任何发生在形参上的改变实际上也发生在实参变量上。

网络-形参

Ⅹ C语言中如何交换两个变量的值

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();

}

(10)c语言中交换程序扩展阅读:

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循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误。