将3x3阶二维数组的关于主对角线对称的五元素互换二维数组的第1至3行元素分别为123456789用矩阵形式分别输出互换前后的数组元素值。C语言
时间: 2024-12-12 20:19:36 浏览: 80
在C语言中,我们可以创建两个3x3的二维数组,并实现函数来交换关于主对角线对称的五个元素。假设原始数组是这样的:
```c
int original[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
```
要交换主对角线对称的元素,即1、5和9,可以先将它们临时存储到其他变量中,然后更新相应的位置。交换后的数组会变成:
```c
int swapped[3][3] = {
{9, 2, 3},
{4, 5, 1},
{7, 8, 6}
};
```
现在我们来编写一个简单的C程序,包含这两个过程:
```c
#include <stdio.h>
// 函数声明
void swapDiagonalSymmetry(int matrix[3][3], int i, int j);
int main() {
// 原始数组
int original[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// 输出原始数组
printf("Original array:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", original[i][j]);
}
printf("\n");
}
// 调用函数交换元素
swapDiagonalSymmetry(original, 0, 2); // 对角线上下索引差1
// 输出交换后的数组
printf("Swapped array:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", original[i][j]);
}
printf("\n");
}
return 0;
}
// 函数实现
void swapDiagonalSymmetry(int matrix[3][3], int i, int j) {
int temp = matrix[i][j]; // 存储对角线元素
matrix[i][j] = matrix[j][i]; // 交换1和9
matrix[j][i] = temp; // 再次交换回去恢复对角线元素
}
```
运行这个程序,你会看到原始数组和交换后的数组。
阅读全文
相关推荐


















