如何在C语言中实现二维数组的行交换操作?
时间: 2024-11-12 22:31:32 浏览: 66
在C语言中,要实现二维数组的行交换操作,你可以创建两个临时变量分别存储需要交换的两行数据,然后逐元素复制到目标位置。下面是一个简单的示例,假设我们有一个二维整型数组`arr`,行数为`rows`,列数为`cols`:
```c
void swapRows(int arr[][cols], int row1, int row2, int rows, int cols) {
// 创建临时数组用于存放行1的数据
int temp[rows][cols];
// 复制行1到临时数组
for (int i = 0; i < rows; ++i)
for (int j = 0; j < cols; ++j)
temp[i][j] = arr[row1][j];
// 清空行2
for (int i = 0; i < rows; ++i)
for (int j = 0; j < cols; ++j)
arr[row2][j] = 0; // 或者你也可以留空,视需求而定
// 将临时数组的内容复制回行2
for (int i = 0; i < rows; ++i)
for (int j = 0; j < cols; ++j)
arr[row2][j] = temp[i][j];
}
// 调用函数并传入你的二维数组、行1和行2的索引
swapRows(arr, 0, 1, rows, cols);
```
记得替换`rows`和`cols`为实际的数组大小。
阅读全文