c语言求一维数组的最小值,最大值,平均值
时间: 2024-05-04 16:20:11 浏览: 28
下面是求一维数组的最小值、最大值、平均值的 C 语言代码示例:
```c
#include <stdio.h>
int main() {
int arr[] = {3, 5, 1, 9, 7}; // 定义一个一维数组
int len = sizeof(arr) / sizeof(arr[0]); // 数组长度
int max = arr[0], min = arr[0], sum = 0;
// 求最大值、最小值、总和
for (int i = 0; i < len; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
sum += arr[i];
}
// 求平均值
double avg = (double)sum / len;
printf("最大值:%d\n", max);
printf("最小值:%d\n", min);
printf("平均值:%.2f\n", avg);
return 0;
}
```
运行结果:
```
最大值:9
最小值:1
平均值:5.00
```
相关问题
求一个一维数组的最大值,最小值和平均值〔主函数调用并输出〕。用c语言
好的,下面是一段实现你需要的功能的 C 代码:
```c
#include <stdio.h>
#define SIZE 5
void calc(int arr[], int size, int* max, int* min, double* avg) {
int sum = 0;
*max = arr[0];
*min = arr[0];
for (int i = 0; i < size; i++) {
if (arr[i] > *max) {
*max = arr[i];
}
if (arr[i] < *min) {
*min = arr[i];
}
sum += arr[i];
}
*avg = (double) sum / size;
}
int main() {
int arr[SIZE] = {2, 5, 1, 8, 3};
int max, min;
double avg;
calc(arr, SIZE, &max, &min, &avg);
printf("最大值: %d\n", max);
printf("最小值: %d\n", min);
printf("平均值: %.2f\n", avg);
return 0;
}
```
这段代码中,`calc` 函数用于计算最大值、最小值和平均值,其中 `arr` 是输入的数组,`size` 是数组的大小,`max`、`min` 和 `avg` 是输出参数,分别用于存储最大值、最小值和平均值。在主函数中,我们定义了一个大小为 `SIZE` 的数组,调用 `calc` 函数计算最大值、最小值和平均值,并输出到控制台。
注意,我们用指针作为输出参数,可以在函数内部修改这些参数的值,从而实现返回多个值的效果。同时,我们使用了 `double` 类型来存储平均值,避免了整型除法带来的精度问题。
一个二维数组,求整个数组的平均值、最大值、最小值,用C语言
来实现。
好的,我会帮你回答这个问题。以下是用C语言实现求一个二维数组的平均值、最大值、最小值的代码:
```c
#include <stdio.h>
int main() {
int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; // 二维数组
float avg = 0;
int max = arr[0][0], min = arr[0][0];
// 求平均值
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
avg += arr[i][j];
}
}
avg /= 9;
// 求最大值和最小值
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (arr[i][j] > max) max = arr[i][j];
if (arr[i][j] < min) min = arr[i][j];
}
}
// 输出结果
printf("平均值为:%.2f\n", avg);
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
return 0;
}
```
如果你有其他问题,欢迎继续与我交流哦,我会尽力帮助你的。