c语言编写函数交换数组a与b
时间: 2024-02-01 15:15:01 浏览: 25
你可以使用以下程序来实现:
```c
void swapArray(int *a, int *b, int size) {
int temp;
for(int i=0; i<size; i++){
temp = a[i];
a[i] = b[i];
b[i] = temp;
}
}
```
其中,`a`和`b`分别为要交换的两个数组的指针,`size`为数组的大小。该函数使用一个循环来遍历两个数组,并通过一个中间变量`temp`来交换数组中的元素。
相关问题
用C语言编写函数交换数组 a 和数组 b 中的对应元素,要考虑到数组 a 和数组 b 中数组元素的个数不同
以下是用C语言编写的函数,可以交换数组 a 和数组 b 中的对应元素,即使数组 a 和数组 b 中数组元素的个数不同:
```c
void swapArrays(int a[], int a_size, int b[], int b_size) {
int i, j;
int temp;
// 找到较小的数组长度
int min_size = a_size < b_size ? a_size : b_size;
// 交换对应位置的元素
for (i = 0; i < min_size; i++) {
temp = a[i];
a[i] = b[i];
b[i] = temp;
}
// 如果数组a的长度大于数组b的长度,将多余的元素移动到数组b的末尾
if (a_size > b_size) {
for (j = min_size; j < a_size; j++) {
b[j] = a[j];
}
}
// 如果数组b的长度大于数组a的长度,将多余的元素移动到数组a的末尾
if (b_size > a_size) {
for (j = min_size; j < b_size; j++) {
a[j] = b[j];
}
}
}
```
使用示例:
```c
int main() {
int a[] = {1, 2, 3, 4, 5};
int a_size = sizeof(a) / sizeof(a[0]);
int b[] = {6, 7, 8};
int b_size = sizeof(b) / sizeof(b[0]);
swapArrays(a, a_size, b, b_size);
printf("Array a after swap: ");
for (int i = 0; i < a_size; i++) {
printf("%d ", a[i]);
}
printf("\n");
printf("Array b after swap: ");
for (int i = 0; i < b_size; i++) {
printf("%d ", b[i]);
}
printf("\n");
return 0;
}
```
用C语言编写一个函数,调用该函数交换数组中的元素位置
好的,下面是一个示例 C 语言代码,可以实现交换数组中两个元素位置的功能:
```c
void swap(int arr[], int i, int j) {
/*
交换数组arr中下标为i和j的元素位置
*/
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
```
这个函数接受三个参数:一个整型数组 `arr`,以及两个整型下标 `i` 和 `j`。它会将数组中下标为 `i` 和 `j` 的元素位置交换。你可以在代码中调用这个函数来实现交换元素的功能。
举个例子,如果你想要交换数组 `a` 中下标为 2 和 5 的元素,可以这样调用该函数:
```c
int a[] = {1, 2, 3, 4, 5, 6};
swap(a, 2, 5);
```
调用后,数组 `a` 的值变为 `{1, 2, 6, 4, 5, 3}`。