您的位置:

c语言对换,c语言置换

本文目录一览:

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

方法 1:(引进变量)

可以认为a、b、c各占一个小格,小格里可以放入数字。具体步骤为:

程序如下:

#include stdio.h

int main()

{

int a,b,c;

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

c=a;

a=b;

b=c;

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

return 0;

}

方法 2:()

两个数的互换可以用式子:

a=b-a;b=b-a;a=b+a;来实现。

程序如下:

#includestdio.h

int main()

{

int a,b;

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

a = a + b;

b = a - b;

a = a - b;

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

return 0;

}

方法 3:(指针)

程序如下:

#includestdio.h

int fun(int *p, int *q)

{

int tmp = *p;

*p = *q;

*q = tmp;

}

int main()

{

int a,b;

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

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

fun(a, b);

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

return 0;

}

c语言结构体成员之间的值怎么对换

struct zombie t;

t=z[j];

z[j]=z[j+1];

z[j+1]=t;

这样可以整体赋值。

c语言,输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换

#include "stdio.h"

#define N 10

void input(int *number){

int i;

printf("Please enter %d integer(s)...\n",N);

for(i=0;iN;scanf("%d",number+i++));

}

void max_min_value(int *number){

int t,max_i,min_i;

for(max_i=min_i=t=0;tN;t++){

if(*(number+max_i)*(number+t))

max_i=t;

if(*(number+min_i)*(number+t))

min_i=t;

}

t=*(number+max_i);//最大值与最后一个交换

*(number+max_i)=*(number+N-1);

*(number+N-1)=t;

t=*(number+min_i);//最小值与第一个交换

*(number+min_i)=*number;

*number=t;

}

int main(int argc,char *argv[]){

int a[10],i;

input(a);

max_min_value(a);

printf("After exchanging is as follows:\n");

for(i=0;iN;printf("%d ",a[i++]));

printf("\n");

return 0;

}

代码格式和运行样例图片: