题目描述
编程实现读入5行4列矩阵中的前四行三列整数,然后将各行之和,各列之和求出,并对应填入表中最后一列,最后一行
源代码
下面是一个用C语言实现读入矩阵并计算行列之和的示例代码:
#include <stdio.h>
#define ROWS 5
#define COLS 4
void calculateSum(int matrix[ROWS][COLS]) {
int rowSum[ROWS] = {0};
int colSum[COLS] = {0};
// 计算各行的和
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
rowSum[i] += matrix[i][j];
}
}
// 计算各列的和
for (int j = 0; j < COLS; j++) {
for (int i = 0; i < ROWS; i++) {
colSum[j] += matrix[i][j];
}
}
// 填入最后一列
for (int i = 0; i < ROWS; i++) {
matrix[i][COLS] = rowSum[i];
}
// 填入最后一行
for (int j = 0; j < COLS; j++) {
matrix[ROWS][j] = colSum[j];
}
}
int main() {
int matrix[ROWS][COLS + 1]; // +1 是为了给最后一列和最后一行留位置
printf("请输入5行4列的矩阵:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
scanf("%d", &matrix[i][j]);
}
}
calculateSum(matrix);
// 输出计算后的矩阵
printf("计算后的矩阵:\n");
for (int i = 0; i <= ROWS; i++) {
for (int j = 0; j <= COLS; j++) {
printf("%d\t", matrix[i][j]);
}
printf("\n");
}
return 0;
}
在这个示例中,我们首先定义了一个calculateSum
函数,用于计算矩阵各行之和和各列之和,并将结果填入矩阵的最后一列和最后一行。然后,在main
函数中,我们声明了一个matrix
矩阵,并通过用户输入初始化矩阵。接下来,我们调用calculateSum
函数对矩阵进行计算,并输出计算后的矩阵。
注意,这里我们将矩阵的列数增加了1,以给最后一列和最后一行留出位置来存储行列之和。在输出计算后的矩阵时,我们使用了<=
进行遍历,以包含最后一行和最后一列。
请注意,这个示例假设输入的矩阵元素都是整数,并且没有考虑输入的合法性验证。在实际应用中,可能需要添加适当的输入验证或错误处理机制。
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END