1. 程式人生 > >用c語言實現兩個陣列中的內容進行交換。(陣列一樣大)

用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; }