【次对角线对称阵】 1 2 3 9 6 3 对矩阵 a = 4 5 6 ,输出其次对角线对称阵 b = 8 5 2 7 8 9 7 4 1 要求: 用函数 void input(int x[3][3]); 实现二维数组的输入 用函数 void output(int x[3][3]); 实现二维数组的输出 用函数 void fun(int a[3][3],int b[3][3]);实现将矩阵a的次对角线对称阵存放入矩阵b 【运行结果示例】 输入: 1 2 3 4 5 6 7 8 9 输出: 1 2 3 (先输出矩阵a,元素输出格式为 "%-4d") 4 5 6 7 8 9 (两个矩阵之间空一行) 9 6 3 (再输出矩阵b,元素输出格式为 "%-4d") 8 5 2 7 4 1c语言
时间: 2023-12-06 12:41:07 浏览: 50
```c
#include <stdio.h>
void input(int x[3][3]);
void output(int x[3][3]);
void fun(int a[3][3], int b[3][3]);
int main() {
int a[3][3], b[3][3];
input(a);
printf("矩阵a:\n");
output(a);
printf("\n");
fun(a, b);
printf("矩阵b:\n");
output(b);
printf("\n");
return 0;
}
void input(int x[3][3]) {
printf("请输入矩阵a:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
scanf("%d", &x[i][j]);
}
}
}
void output(int x[3][3]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%-4d", x[i][j]);
}
printf("\n");
}
}
void fun(int a[3][3], int b[3][3]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i + j == 2) { // 判断是否为次对角线
b[i][j] = a[j][i]; // 次对角线对称
} else {
b[i][j] = 0; // 不是次对角线元素,赋值为0
}
}
}
}
```