用c语言编写:从键盘上输入一个M×N的二维数组,求该数组各行的平均值,将结果放到一个一维数组中,并输出,要求M和N的值用#define命令设置,平均值精确到小数点后两位。
时间: 2024-05-05 15:22:20 浏览: 298
以下是用 C 语言实现该程序的代码:
```
#include <stdio.h>
#define M 3 // 行数
#define N 4 // 列数
int main() {
int arr[M][N];
float avg[M];
int i, j;
// 从键盘上输入二维数组
printf("请输入 %dx%d 的二维数组:\n", M, N);
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
scanf("%d", &arr[i][j]);
}
}
// 计算每行的平均值
for (i = 0; i < M; i++) {
int sum = 0;
for (j = 0; j < N; j++) {
sum += arr[i][j];
}
avg[i] = (float) sum / N;
}
// 输出每行的平均值
printf("各行的平均值为:\n");
for (i = 0; i < M; i++) {
printf("%.2f ", avg[i]);
}
printf("\n");
return 0;
}
```
这段代码中,我们首先用 `#define` 命令定义了 `M` 和 `N` 的值,然后声明了一个 `M` 行 `N` 列的二维数组 `arr` 和一个长度为 `M` 的一维数组 `avg`,用于存放每行的平均值。
接着,我们使用两个嵌套的循环从键盘上输入二维数组的元素。然后,我们再使用两个嵌套的循环计算每行的平均值,并将结果存放到 `avg` 数组中。
最后,我们再使用一个循环输出每行的平均值,其中 `%.2f` 表示输出浮点数并精确到小数点后两位。
阅读全文