方法一:
//该方法主要用逻辑运算将数组对应的每个元素进行交换,然后用for循环将整个数组元素进行交换
#include<stdio.h>
int main()
{ int i,j,k;
int A[10];
int B[10];
int C[10];
printf("请输入A数组的内容:\n");
for(i=0;i<10;i++)
{scanf("%d",&A[i]);}
printf("请输入B数组的内容:\n");
for(j=0;j<10;j++)
{ scanf("%d",&B[j]);}
for(k=0;k<10;k++)
{ A[k]=A[k]^B[k]; //逻辑运算交换各元素的值 ,"^"也可改成"+,_"同样可以实现交换
B[k]=A[k]^B[k]; //例如: A[k]=A[k]+B[k];
A[k]=A[k]^B[k]; B[k]=A[k]-B[k];
} A[k]=A[k]-B[k];
printf("互换后的A数组为:\n");
for(i=0;i<10;i++)
{printf("%d ",A[i]);}
printf("\n");
printf("互换后的B数组为:\n");
for(j=0;j<10;j++)
{ printf("%d ",B[j]);}
printf("\n");
return 0;
}
方法二: //这种方法是利用指针函数进行交换各元素的值,
#include<stdio.h>
int main()
{ int i,j,k;
int A[10];
int B[10];
int C[10];
printf("请输入A数组的内容:\n");
for(i=0;i<10;i++)
{scanf("%d",&A[i]);}
printf("请输入B数组的内容:\n");
for(j=0;j<10;j++)
{ scanf("%d",&B[j]);}
for(k=0;k<10;k++)
{ swap(&A[k],&B[k]); // 调用指针函数进行元素的交换
}
printf("互换后的A数组为:\n");
for(i=0;i<10;i++)
{printf("%d ",A[i]);}
printf("\n");
printf("互换后的B数组为:\n");
for(j=0;j<10;j++)
{ printf("%d ",B[j]);}
printf("\n");
return 0;
}
int swap(int *a,int* b)
{ int t;
t=*a;
*a=*b;
*b=t;
}
方法三 // 引入第三个数组进行数组各元素的交换
#include<stdio.h>
int main()
{ int i,j,k;
int A[10];
int B[10];
int C[10];
printf("请输入A数组的内容:\n");
for(i=0;i<10;i++)
{scanf("%d",&A[i]);}
printf("请输入B数组的内容:\n");
for(j=0;j<10;j++)
{ scanf("%d",&B[j]);}
for(k=0;k<10;k++) // 引入变量,进行交换
{
C[k]=A[k];
}
for(i=0;i<10;i++)
{
A[i]=B[i];
}
for(j=0;j<10;j++)
{
B[j]=C[j];
}
printf("互换后的A数组为:\n");
for(i=0;i<10;i++)
{printf("%d ",A[i]);}
printf("\n");
printf("互换后的B数组为:\n");
for(j=0;j<10;j++)
{ printf("%d ",B[j]);}
printf("\n");
return 0;
}
方法四 //引入第三变量,在利用strcpy函数进行交换各数组元素
#include<stdio.h>
int main()
{ char str1[20];
char str2[20];
char str3[20];
puts("请输入str1的字符:\n");
gets(str1);
puts("请输入str2的字符:\n");
gets(str2);
strcpy(str3,str1);
strcpy(str1,str2);
strcpy(str2,str3);
puts("互换后的str1数组为:\n");
puts(str1);
printf("\n");
puts("互换后的str2数组为:\n");
puts(str2);
printf("\n");
return 0;
}
本文出自 “零点时光” 博客,请务必保留此出处http://10741764.blog.51cto.com/10731764/1698474
原文:http://10741764.blog.51cto.com/10731764/1698474