本文目录一览:
在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;
}
代码格式和运行样例图片: