用c語言實現兩個陣列中的內容進行交換。(陣列一樣大)
阿新 • • 發佈:2018-12-10
方法一:建立新的陣列。
#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;
}