c语言从键盘输入整数,输出一个二维整型数组.对该数组进行主对角线和次对角线元素的位置进行交换
时间: 2024-05-03 11:19:00 浏览: 98
C语言程序设计-在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的积,并在fun() 函数中输出
5星 · 资源好评率100%
好的,下面是代码实现:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 3
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int array[ROWS][COLS];
int i, j;
// 从键盘输入整数,填充二维数组
printf("请输入 %d 行 %d 列的整型数组:\n", ROWS, COLS);
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
scanf("%d", &array[i][j]);
}
}
// 交换主对角线和次对角线元素
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
if (i == j || i + j == ROWS - 1) {
swap(&array[i][j], &array[ROWS - 1 - i][COLS - 1 - j]);
}
}
}
// 输出交换后的数组
printf("交换后的数组为:\n");
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%d ", array[i][j]);
}
printf("\n");
}
return 0;
}
```
这里我们定义了一个 `swap` 函数,用于交换两个元素的值。然后根据指定的数组大小,从键盘输入整数,填充二维数组。接着遍历数组,对于主对角线和次对角线上的元素,进行交换。最后输出交换后的数组即可。
阅读全文