C语言编程实现输入n和m的值(n<10,m<10),以及一个 n×m的矩阵,找出每行中最大的元素并与该行第 1列的元素进行交换,输出交换后的矩阵。
时间: 2023-06-14 09:08:32 浏览: 362
10个重要的算法C语言实现源代码
5星 · 资源好评率100%
以下是 C 语言实现代码:
```c
#include <stdio.h>
int main() {
int n, m;
printf("请输入 n 和 m:");
scanf("%d %d", &n, &m);
int matrix[n][m];
// 输入矩阵
printf("请输入 %d 行 %d 列的矩阵:\n", n, m);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 找出每行最大元素并与第一列元素交换
for (int i = 0; i < n; i++) {
int max = matrix[i][0];
int max_index = 0;
for (int j = 1; j < m; j++) {
if (matrix[i][j] > max) {
max = matrix[i][j];
max_index = j;
}
}
int temp = matrix[i][0];
matrix[i][0] = max;
matrix[i][max_index] = temp;
}
// 输出交换后的矩阵
printf("\n交换后的矩阵为:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
这段代码首先通过 `scanf` 函数获取输入的 `n` 和 `m` 值,然后定义一个 `n x m` 的矩阵 `matrix`,并通过两个嵌套的 `for` 循环逐个获取矩阵元素的值。接着,通过两次循环找出每行最大的元素并与第一列元素交换,最后通过 `printf` 函数输出交换后的矩阵。
阅读全文