用C语言编程 程序功能:输入正整数 n(n≤6)和 n 阶方阵 A,交换方阵 A 中的最大 值与最小值位置。假定方阵 A 中的最大值与最小值都唯一。
时间: 2024-02-13 07:04:25 浏览: 79
用c语言实现最大最小值
好的,下面是用 C 语言编写的程序,可以实现您的需求:
```c
#include <stdio.h>
int main() {
int n, a[6][6], max_r, max_c, min_r, min_c, temp;
printf("请输入正整数 n(n≤6):");
scanf("%d", &n);
printf("请输入 %d 阶方阵 A:\n", n);
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
}
}
// 找到最大值和最小值所在的行列
max_r = max_c = min_r = min_c = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (a[i][j] > a[max_r][max_c]) {
max_r = i;
max_c = j;
}
if (a[i][j] < a[min_r][min_c]) {
min_r = i;
min_c = j;
}
}
}
// 交换最大值和最小值
temp = a[max_r][max_c];
a[max_r][max_c] = a[min_r][min_c];
a[min_r][min_c] = temp;
// 输出交换后的方阵
printf("交换后的方阵 A:\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,然后使用两个 for 循环遍历整个方阵,找到其中的最大值和最小值,并记录它们所在的行列。接着,我们交换最大值和最小值所在位置的元素,最后输出交换后的方阵。
阅读全文