用c语言实现两个数组中的内容进行交换。(数组一样大)

方法一:创建新的数组。

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int arr1[5] = { 1, 2, 3, 4, 5,  };
	int arr2[5] = { 0, 6, 7, 8, 9,  };
	int arr3[5] = {0};
	int i = 0;

	for (i = 0; i<sizeof(arr1) / sizeof(arr1[0]); i++)
	{
		arr3[i] = arr1[i];
		arr1[i] = arr2[i];
		arr2[i] = arr3[i];
	}
	for (i = 0; i<sizeof(arr1) / sizeof(arr1[0]); i++)
	{
		printf("%d", arr1[i]);
	}
	printf("\n");
	for (i = 0; i<sizeof(arr2) / sizeof(arr2[0]); i++)
	{
		printf("%d", arr2[i]);
	}
	printf("\n");
	system("pause");
	return 0;
}

方法二:数组间运用运算符“+”“-”。

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int arr1[5] = { 1, 2, 3, 4, 5,  };
	int arr2[5] = { 0, 6, 7, 8, 9,  };
	int i = 0;

	for (i = 0; i<sizeof(arr1) / sizeof(arr1[0]); i++)
	{
		arr1[i] = arr1[i] + arr2[i];
		arr2[i] = arr1[i] - arr2[i];
		arr1[i] = arr1[i] - arr2[i];


	}
	for (i = 0; i<sizeof(arr1) / sizeof(arr1[0]); i++)
	{
		printf("%d", arr1[i]);
	}
	printf("\n");
	for (i = 0; i<sizeof(arr2) / sizeof(arr2[0]); i++)
	{
		printf("%d", arr2[i]);
	}
	printf("\n");
	system("pause");
	return 0;
}
方法三:运用按位异或的方法。

```c
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int arr1[5] = { 1, 2, 3, 4, 5,  };
	int arr2[5] = { 0, 6, 7, 8, 9,  };
	int i = 0;

	for (i = 0; i<sizeof(arr1) / sizeof(arr1[0]); i++)
	{
		arr1[i] = arr1[i]^arr2[i];
		arr2[i] = arr1[i]^arr2[i];
		arr1[i] = arr1[i]^arr2[i];


	}
	for (i = 0; i<sizeof(arr1) / sizeof(arr1[0]); i++)
	{
		printf("%d", arr1[i]);
	}
	printf("\n");
	for (i = 0; i<sizeof(arr2) / sizeof(arr2[0]); i++)
	{
		printf("%d", arr2[i]);
	}
	printf("\n");
	system("pause");
	return 0;
}


猜你喜欢

转载自blog.csdn.net/qq_43857558/article/details/84888736