一个二维数组,求整个数组的平均值、最大值及其下标、最小值及其下标,用C语言
时间: 2023-06-05 19:04:06 浏览: 126
来实现。谢谢!
非常感谢您的提问。根据您的要求,我可以为您提供以下 C 语言程序:
```c
#include <stdio.h>
#define ROWS 3 // 数组的行数
#define COLS 4 // 数组的列数
int main()
{
int arr[ROWS][COLS] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}}; // 二维数组
int row, col; // 行和列的变量
double sum = 0; // 数组元素的总和
double avg = 0; // 数组元素的平均值
int max = arr[0][0]; // 数组元素的最大值
int max_row = 0; // 最大值所在的行
int max_col = 0; // 最大值所在的列
int min = arr[0][0]; // 数组元素的最小值
int min_row = 0; // 最小值所在的行
int min_col = 0; // 最小值所在的列
// 遍历整个数组,求和、比较大小
for (row = 0; row < ROWS; row++) {
for (col = 0; col < COLS; col++) {
sum += arr[row][col]; // 计算总和
if (arr[row][col] > max) {
max = arr[row][col]; // 更新最大值和其下标
max_row = row;
max_col = col;
}
if (arr[row][col] < min) {
min = arr[row][col]; // 更新最小值和其下标
min_row = row;
min_col = col;
}
}
}
avg = sum / (ROWS * COLS); // 计算平均值
// 输出结果
printf("数组的平均值为:%.2f\n", avg);
printf("数组的最大值为:%d,下标为[%d][%d]\n", max, max_row, max_col);
printf("数组的最小值为:%d,下标为[%d][%d]\n", min, min_row, min_col);
return 0;
}
```
运行结果如下:
```
数组的平均值为:6.50
数组的最大值为:12,下标为[2][3]
数组的最小值为:1,下标为[0][0]
```
希望这个程序能够帮助到您,如果您有其他问题,欢迎随时提出。