c语言,输入两个正整数m和n(1≤m,n≤6),在输入一个m×n的整数矩阵,将矩阵的最小值与其所在列的最大值进行交换,输出交换后的矩阵。
时间: 2023-06-06 14:07:54 浏览: 175
C语言程序设计-实现两个整数的交换;例如:给a和b分别输入:60和65,输入为:a=65 b=60.c
5星 · 资源好评率100%
好的,这是一个关于C语言的编程问题。请参考以下代码:
#include <stdio.h>
int main() {
int m, n;
scanf("%d %d", &m, &n); // 输入矩阵的行和列
int matrix[m][n]; // 定义一个 m 行 n 列的矩阵
// 输入矩阵的每个元素
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 找到矩阵中最小值 min 和其所在列的最大值 max_col
int min = matrix[0][0], max_col = 0, max = matrix[0][0];
for (int j = 0; j < n; j++) {
if (matrix[0][j] > max) {
max_col = j;
max = matrix[0][j];
}
for (int i = 0; i < m; i++) {
if (matrix[i][j] < min) {
min = matrix[i][j];
}
}
}
// 交换 min 和 max_col 所在列的元素
for (int i = 0; i < m; i++) {
int temp = matrix[i][0];
matrix[i][0] = matrix[i][max_col];
matrix[i][max_col] = temp;
}
// 输出交换后的矩阵
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
希望这个代码能够解决你的问题。
阅读全文