C语言二维数组行列互换
时间: 2023-12-07 07:40:10 浏览: 126
以下是C语言二维数组行列互换的代码示例:
```c
#include <stdio.h>
int main()
{
int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int i, j, temp;
// 输出原始数组
printf("原始数组:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
// 行列互换
for (i = 0; i < 3; i++) {
for (j = i + 1; j < 3; j++) {
temp = a[i][j];
a[i][j] = a[j][i];
a[j][i] = temp;
}
}
// 输出互换后的数组
printf("互换后的数组:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
相关问题
c语言二维数组行列互换
可以使用以下的 C 语言程序将一个任意大小的二维数组行列互换:
```c
#include <stdio.h>
void transpose(int arr[][3], int rows, int cols) {
int i, j, temp;
for (i = 0; i < rows; i++) {
for (j = i + 1; j < cols; j++) {
temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
}
int main() {
int matrix[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
int i, j;
// 打印原始矩阵
printf("原始矩阵:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
// 交换行和列
transpose(matrix, 3, 3);
// 打印交换后的矩阵
printf("\n行列互换后的矩阵:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
这个程序使用了一个名为 `transpose` 的函数来交换行和列。该函数接受一个二维数组 `arr`、行数 `rows` 和列数 `cols` 作为输入参数。它使用两个嵌套的循环来交换行和列,并且不需要事先知道数组的大小。
在主函数中,我们定义了一个 3x3 的矩阵 `matrix`,打印出原始矩阵,然后调用 `transpose` 函数来交换行和列。最后,我们再次打印出交换后的矩阵。
二维数组行列互换C语言
以下是C语言中二维数组行列互换的代码示例:
```c
#include <stdio.h>
int main()
{
int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int i, j, temp;
// 输出原始矩阵
printf("原始矩阵:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
// 行列互换
for (i = 0; i < 3; i++) {
for (j = i + 1; j < 3; j++) {
temp = a[i][j];
a[i][j] = a[j][i];
a[j][i] = temp;
}
}
// 输出互换后的矩阵
printf("行列互换后的矩阵:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
阅读全文