从键盘输入整数n(2<n<10)的值,输入一个二维数组(你×)你。对该数组的矩阵进行主对角线和次对角线的元素的位置进行交换,输出变化后的数组。C语言
时间: 2023-12-30 21:03:15 浏览: 86
好的,下面是C语言的代码实现:
```c
#include <stdio.h>
int main() {
int n, i, j;
printf("请输入n的值:");
scanf("%d", &n);
int arr[n][n];
printf("请输入一个n*n的二维数组:\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &arr[i][j]);
}
}
// 交换主对角线和次对角线的元素
for (i = 0; i < n; i++) {
int temp = arr[i][i];
arr[i][i] = arr[i][n-i-1];
arr[i][n-i-1] = temp;
}
// 输出变化后的数组
printf("变化后的数组:\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
这个程序首先从键盘输入一个n的值,然后输入一个n*n的二维数组。接着,它交换了矩阵的主对角线和次对角线的元素,最后输出变化后的数组。
例如,如果您输入n=3,数组为:
```
1 2 3
4 5 6
7 8 9
```
程序将输出:
```
3 2 1
4 5 6
9 8 7
```
希望这个程序可以解决您的问题。
阅读全文