C语言从键盘输入整数n(2<n<10)的值,输入一个二维整型数组(n×n)。对该二维数组所构成的矩阵进行主对角线和次对角线元素的位置进行交换,输出变换后的数组。
时间: 2024-02-21 07:01:52 浏览: 76
好的,这是一个关于 C 语言的问题。下面是对应的代码实现:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入n:");
scanf("%d", &n);
int a[n][n];
printf("请输入%d x %d的矩阵:\n", n, n);
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
}
}
for (int i = 0; i < n; i++) {
int temp = a[i][i];
a[i][i] = a[i][n - i - 1];
a[i][n - i - 1] = temp;
}
printf("变换后的矩阵:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
代码中,我们首先从键盘输入矩阵的大小 `n` 和矩阵中的元素,然后通过两层循环遍历矩阵,并交换主对角线和次对角线上的元素。最后输出变换后的矩阵。
需要注意的是,这里的矩阵是用 C 语言的二维数组来表示的,因此在定义数组大小时需要使用变量 `n`。
阅读全文