编写程序,输入一个6行8列的矩阵,计算并输出矩阵最大值及其行、列下标,每行的元素和,每行的最小值及其行、列下标(假设矩阵中所有元素的值各不相同) c语言
时间: 2024-03-02 21:53:19 浏览: 93
用c语言实现矩阵的运算
4星 · 用户满意度95%
好的,下面是 C 语言程序实现:
```c
#include <stdio.h>
int main() {
int mat[6][8]; // 定义矩阵
int max_val = mat[0][0]; // 最大值
int max_row = 0, max_col = 0; // 最大值的行列下标
int row_sum[6] = {0}; // 每行元素和
int min_val[6] = {0}; // 每行最小值
int min_row[6] = {0}, min_col[6] = {0}; // 每行最小值的行列下标
// 输入矩阵
printf("请输入一个6行8列的矩阵:\n");
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 8; j++) {
scanf("%d", &mat[i][j]);
}
}
// 计算最大值及其行列下标,每行元素和,每行最小值及其行列下标
for (int i = 0; i < 6; i++) {
min_val[i] = mat[i][0];
for (int j = 0; j < 8; j++) {
// 计算最大值及其行列下标
if (mat[i][j] > max_val) {
max_val = mat[i][j];
max_row = i;
max_col = j;
}
// 计算每行元素和
row_sum[i] += mat[i][j];
// 计算每行最小值及其行列下标
if (mat[i][j] < min_val[i]) {
min_val[i] = mat[i][j];
min_row[i] = i;
min_col[i] = j;
}
}
}
// 输出结果
printf("矩阵中的最大值为 %d,行列下标为 (%d, %d)\n", max_val, max_row, max_col);
for (int i = 0; i < 6; i++) {
printf("第 %d 行的元素和为 %d,最小值为 %d,行列下标为 (%d, %d)\n", i + 1, row_sum[i], min_val[i], min_row[i], min_col[i]);
}
return 0;
}
```
请注意,该程序假设矩阵中所有元素的值互不相同。如果矩阵中有相同的元素,计算结果可能会不准确。
阅读全文