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

c语言调用swapmin函数

发布时间: 2023-05-25 09:14:57

c语言编写两个函数,min实现返回最小值下标,swap交换任意两个函数的值,主函数实现数组(任意数

#include <stdio.h>

int a[8]={5,8,6,9,3,1,2,4};

int min(int x,int y)

{return a[x]<a[y]?x:y;

}

void swap(int *a,int *b)

{int t;

t=*a;*a=*b;*b=t;

}

int main()

{int i,j,t;

for(i=0;i<7;i++)

for(j=0;j<7-i;j++)

if(min(j,j+1)!=j)swap(&a[j],&a[j+1]);

for(i=0;i<8;i++)

printf("%d ",a[i]);

printf(" ");

return 0;

}

② C语言中swap的作用和用法

swap函数一般是一个程序员自定义函数。

  1. 通常是实现两个变量数值的交换,用法比较广泛。

  2. 可使用临时变量实现交换;可通过临时指针变量实现交换;可借助指针加入临时变量来实现交换。

  3. return 0;

  4. }

  5. swap1: x:4,y:3

  6. swap2: x:4,y:3

  7. swap3: x:3,y:4

  8. swap4: x:4,y:3

  9. swap5: x:3,y:4

  10. swap6: x:4,y:3

  11. swap7:ppx:3,ppy:4

拓展资料:

计算机中swap函数很多,在不同领域有不同的用法,但都是交换的意思。比如字符串交换swap操作实现交换两个容器内所有元素的功能。要交换的容器的类型必须匹配: 必须是相同类型的容器,而且所存储的元素类型也必须相同。调用了swap函数后,右操作数原来存储的元素被存放在左操作数中,反之亦然。

③ 求一个C语言程序题:编写一个函数SWAP()实现交换两个数位置的功能

#include <stdio.h>
void swap(int *p, int *q);//用传地址的方法交换
void main()
{
int i, j;
scanf("%d%d", &i, &j);//从键盘输入两个交换的数
swap(&i, &j);//传入i,j的地址
printf("i = %d, j = %d\n", i, j);//输出交换后的两个值
}
void swap(int *p, int *q)
{
int temp;//定义临时变量 存放中间值
temp = *p;
*p = *q;
*q = temp;
}
注意:不能直接写void swap(int i, int j);
因为那只是临时变量,函数调用完后,便释放空间,两个值并没有交换。

④ c语言中swap是个什么函数

swap函数一般是一个程序员自定义函数,是实现两个变量数值的交换。

1、比如:

int a = 2;

int b =3;

swap(a,b); //一般用到变量数值交换,交换后a=3 b = 2;

2、通过使用临时变量实现交换。

void swap1(int x,int y)

{

int temp;

temp=x;

x=y;

y=temp;

}

(4)c语言调用swapmin函数扩展阅读

C语言swap函数的使用

#include<stdio.h>

void swap(int *pa,int *pb)

{

int temp;

temp=*pa,*pa=*pb,*pb=temp;

}

void main()

{

int a=10,b=20;

swap(&a,&b);//传递的是实参变量a,b的地址

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

}

⑤ c语言 函数调用 swap函数 一定要用指针吗

不一定。

void swap(int a,int b)

{

int t;

t=a;

a=b;

b=t;

}

这样写,只是传了一份拷贝给a,b,交换好后,栈清空,没有传回给你原来所要交换的数。而printf放里面可以是因为你的那份拷贝(即a,b)的值是跟你要交换的数一样的,所以行得通。

不用指针的方法就是:

void swap(int &a,int &b)
{

int t;

t=a;

a=b;

b=t;
}
这样就可以了,这个传进去的是原先数据的地址,地址都改变了,值也就交换了。

(5)c语言调用swapmin函数扩展阅读:

关于指针与swap函数

1、用变量的指针交换,其实只是用指针名及指针运算符*访问变量 ,修改了变量的值。

int temp;

int *pa=&a;

int *pb=&b;

temp=*pa; *pa=*pb;*pb=temp;

2、用变量的引用交换,用”别名“访问变量

int temp;

int &aa=a;

int &bb=b;

temp=aa; aa=bb;bb=temp;

3、变量直接交换,用变量名访问变量,修改了变量的值

int temp;

int a=5;

int b=6;

temp=a; a=b; b=temp;

4、2的变形

int* temp;

int* pa=&a; int* pb=&b;

temp=pa; pa=pb;pb=temp;

cout<<*pa<<endls //-----指针交换了指向的地址,如果用*pa访问变量,此时就算是交换了,但是a和b没有交换。