c语言行列互换3x3
时间: 2023-12-02 11:41:32 浏览: 41
以下是C语言实现3x3矩阵行列互换的代码:
```c
#include <stdio.h>
int main() {
int num[3][3];
// 输入矩阵
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
scanf("%d", &num[i][j]);
}
}
// 行列互换
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 3; j++) {
int temp = num[i][j];
num[i][j] = num[j][i];
num[j][i] = temp;
}
}
// 输出矩阵
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", num[i][j]);
}
putchar('\n');
}
return 0;
}
```
相关问题
二维数组行列互换c语言
以下是C语言中二维数组行列互换的代码实现:
```c
#include <stdio.h>
void convert(int b[3][3]) {
int i, j, temp;
for (i = 0; i < 3; i++) {
for (j = i + 1; j < 3; j++) {
temp = b[i][j];
b[i][j] = b[j][i];
b[j][i] = temp;
}
}
}
int main() {
int a[3][3], i, j;
printf("请输入3x3的整型数组:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
scanf("%d", &a[i][j]);
}
}
printf("转置前的数组为:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
convert(a);
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` 函数来交换行和列。最后,我们再次打印出交换后的矩阵。