【C语言】从3x5矩阵计算前三行平均值并扩展到4x5矩阵
文章目录
- C语言实现:从3x5矩阵计算前三行平均值并扩展到4x5矩阵
- 程序概述
- 代码实现
- 运行程序
C语言实现:从3x5矩阵计算前三行平均值并扩展到4x5矩阵
在这篇文章中,我们将通过一个简单的C语言程序来演示如何从一个3x5的矩阵中计算前三行的平均值,并将这些平均值添加到一个新的4x5矩阵的最后一行中。这个程序将引导用户输入一个3x5的矩阵,然后自动计算所需的平均值并输出结果矩阵。
程序概述
程序的主要步骤包括:
- 用户输入一个3x5的矩阵。
- 计算矩阵前三行的平均值。
- 将计算得到的平均值存储在一个新的4x5矩阵的最后一行。
- 输出扩展后的4x5矩阵。
代码实现
以下是实现上述功能的C语言代码:
#include <stdio.h>
int main() {
int matrix[3][5]; // 原始3x5矩阵
int result[4][5]; // 结果4x5矩阵
float sum, average; // 用于计算和存储平均值
// 用户输入3x5矩阵
printf("请输入3x5矩阵的元素:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 5; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 计算前三行的平均值并存储在结果矩阵的最后一行
for (int j = 0; j < 5; j++) {
sum = 0;
for (int i = 0; i < 3; i++) {
sum += matrix[i][j];
}
average = sum / 3.0; // 使用浮点数进行除法以得到精确的平均值
result[3][j] = (int)average; // 将平均值转换为整数并存储
}
// 将原始矩阵的元素复制到结果矩阵的前三行
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 5; j++) {
result[i][j] = matrix[i][j];
}
}
// 输出4x5矩阵
printf("得到的4x5矩阵是:\n");
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 5; j++) {
printf("%d ", result[i][j]);
}
printf("\n");
}
return 0;
}
运行程序
当你运行这个程序时,它会提示你输入一个3x5的矩阵。输入完毕后,程序会自动计算前三行的平均值,并将这些值添加到一个新的4x5矩阵的最后一行。最后,程序会输出这个扩展后的矩阵。