输入二维数组,分别求行列平均数用c语言
时间: 2024-10-27 15:09:09 浏览: 15
在C语言中,计算二维数组的行平均值和列平均值,你可以创建两个函数,一个用于计算行平均,另一个用于计算列平均。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 函数来计算行平均
double row_average(int arr[][n], int rows) {
double sum = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < n; j++) {
sum += arr[i][j];
}
if (rows > 0) {
return sum / rows;
} else {
// 如果行数为0(可能是空数组),返回0防止除以零错误
return 0;
}
}
}
// 函数来计算列平均
double column_average(int arr[][n], int cols) {
double sum = 0;
for (int i = 0; i < rows; i++) {
sum += arr[i][0]; // 计算第一列的总和
}
return sum / rows;
}
int main() {
const int rows = 3;
const int cols = 4;
int arr[rows][cols] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; // 示例二维数组
printf("Row averages:\n");
for (int i = 0; i < cols; i++) {
double avg = row_average(arr, rows);
printf("Average of Row %d: %.2f\n", i+1, avg);
}
printf("\nColumn averages:\n");
for (int i = 0; i < rows; i++) {
double avg = column_average(arr, cols);
printf("Average of Column %d: %.2f\n", i+1, avg);
}
return 0;
}
```
在这个例子中,`row_average`函数遍历每一行求和,然后除以行数得到平均值;而`column_average`函数则遍历每一列的第一元素求和,因为其余元素在这一维上是相同的。
阅读全文