本题要求编写C语言程序,求一个给定的m×n矩阵各行元素的和。输入格式:输入第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间以空格分隔。输出格式:每行输出对应矩阵行元素之和
时间: 2024-11-22 11:34:27 浏览: 2
要编写C语言程序求给定矩阵的行元素和,可以按照以下步骤进行:
1. 首先,从标准输入读取矩阵的行数`m`和列数`n`。
2. 然后,创建一个二维数组`matrix`来存储输入的矩阵数据,大小为`m x n`。
3. 使用循环逐行读取输入并累加每个元素到对应的行和。
4. 最后,遍历数组,打印出每个行的元素和。
下面是一个简单的示例C程序实现:
```c
#include <stdio.h>
#define MAX_ROWS 6
#define MAX_COLS 6
// 函数声明
int get_row_sum(int m, int n, int matrix[][MAX_COLS]);
int main() {
int m, n;
scanf("%d %d", &m, &n);
// 检查输入是否合法
if (m <= 0 || n <= 0 || m > MAX_ROWS || n > MAX_COLS) {
printf("Invalid input.\n");
return 1;
}
int matrix[MAX_ROWS][MAX_COLS];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 计算并打印行和
for (int i = 0; i < m; i++) {
int row_sum = get_row_sum(m, n, matrix + i); // 通过指针计算行和
printf("Row %d sum: %d\n", i+1, row_sum);
}
return 0;
}
// 内部函数:计算单行元素和
int get_row_sum(int m, int n, int matrix[]) {
int sum = 0;
for (int j = 0; j < n; j++) {
sum += matrix[j];
}
return sum;
}
```
阅读全文