程序功能:输入正整数n(n<=6)和n阶方阵A,交换方阵A中的最大值与最小值位置。假定方阵A中的最大值与最小值都唯一。
时间: 2024-02-15 20:01:43 浏览: 84
以下是一个C语言实现的程序,可以实现输入正整数n和n阶方阵A,交换方阵A中的最大值与最小值位置:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入正整数n(n<=6):");
scanf("%d", &n);
int a[n][n]; // 定义n阶方阵A
int max = 0, min = 0, max_i, max_j, min_i, min_j; // 定义最大值和最小值的变量以及它们的位置变量
printf("请输入%d阶方阵A:\n", n);
// 输入方阵A
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
// 找出最大值和最小值的位置
if (a[i][j] > a[max_i][max_j]) {
max_i = i;
max_j = j;
}
if (a[i][j] < a[min_i][min_j]) {
min_i = i;
min_j = j;
}
}
}
// 交换最大值和最小值的位置
int temp = a[max_i][max_j];
a[max_i][max_j] = a[min_i][min_j];
a[min_i][min_j] = temp;
// 输出交换后的方阵A
printf("交换后的%d阶方阵A:\n", 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,然后定义一个n阶方阵A,并输入方阵A的值。在输入方阵A的同时,程序会找出方阵A中最大值和最小值的位置。接着,程序交换最大值和最小值的位置,并输出交换后的方阵A。
阅读全文