c语言 从键盘上输入一个二维数组,求该数组各列的平均值
时间: 2023-12-01 10:04:02 浏览: 45
好的,以下是 C 语言的代码示例:
```c
#include <stdio.h>
int main() {
int row, col;
printf("请输入二维数组的行数和列数,用空格分隔:\n");
scanf("%d %d", &row, &col);
int arr[row][col];
printf("请输入二维数组的元素,用空格分隔:\n");
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
scanf("%d", &arr[i][j]);
}
}
printf("各列的平均值为:\n");
for (int j = 0; j < col; j++) {
double sum = 0;
for (int i = 0; i < row; i++) {
sum += arr[i][j];
}
printf("%lf ", sum / row);
}
return 0;
}
```
这段代码首先让用户输入二维数组的行数和列数,然后用两个嵌套的循环读入二维数组的元素。最后再次使用嵌套循环,计算每一列的元素之和,并输出其平均值。
相关问题
c语言 从键盘上输入一个3*4的二维数组,求该数组各列的平均值,将结果放到一个一维数组中,并输出
好的,以下是 C 语言的代码示例:
```c
#include <stdio.h>
int main() {
int arr[3][4];
printf("请输入一个3x4的二维数组:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
scanf("%d", &arr[i][j]);
}
}
double avg[4];
for (int j = 0; j < 4; j++) {
double sum = 0;
for (int i = 0; i < 3; i++) {
sum += arr[i][j];
}
avg[j] = sum / 3;
}
printf("各列的平均值为:\n");
for (int i = 0; i < 4; i++) {
printf("%lf ", avg[i]);
}
return 0;
}
```
这段代码首先让用户输入一个 3x4 的二维数组,然后使用嵌套循环读入二维数组的元素。接着,使用嵌套循环计算每一列的元素之和,并将平均值存储在一个一维数组 `avg` 中。最后,使用一个循环输出 `avg` 数组中的每一个元素。
C语言从键盘上输入一个M×N的二维数组,求该数组各行的平均值,将结果放到一个一维数组中,并输出,要求M和N的值用#define命令设置,平均值精确到小数点后两位。
可以按照如下方式实现:
```c
#include <stdio.h>
#define M 3 // 定义M的值为3
#define N 4 // 定义N的值为4
int main() {
int arr[M][N], i, j;
double row_avg[M], sum;
// 读取二维数组
printf("请输入一个%d×%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++) {
sum = 0;
for (j = 0; j < N; j++) {
sum += arr[i][j];
}
row_avg[i] = sum / N;
}
// 输出各行的平均值
printf("各行的平均值为:\n");
for (i = 0; i < M; i++) {
printf("%.2f ", row_avg[i]);
}
return 0;
}
```
程序中,用`#define`命令定义了`M`和`N`的值为3和4,分别表示二维数组的行数和列数。然后依次读取二维数组中的元素,计算各行的平均值并存储到一维数组`row_avg`中,最后输出各行的平均值。注意输出浮点数时要使用`%.2f`格式,表示保留小数点后两位。