去掉一个最高分,去掉一个最低分,求平均值,用指针函数C语言void Min(int*arr,int len,int min) void Max(intarr,int len,int max) void Sum(intarr,int len,int sum) void Avg(int sum,int max,int min,int len,intavg)
时间: 2023-07-16 12:15:26 浏览: 88
去掉一个最高分一个最低分,求平均值
5星 · 资源好评率100%
以下是用指针函数实现去掉一个最高分,去掉一个最低分,求平均值的C语言代码:
```c
#include <stdio.h>
void Min(int *arr, int len, int *min)
{
*min = arr[0];
for (int i = 1; i < len; i++)
{
if (arr[i] < *min)
{
*min = arr[i];
}
}
}
void Max(int *arr, int len, int *max)
{
*max = arr[0];
for (int i = 1; i < len; i++)
{
if (arr[i] > *max)
{
*max = arr[i];
}
}
}
void Sum(int *arr, int len, int *sum)
{
*sum = 0;
for (int i = 0; i < len; i++)
{
*sum += arr[i];
}
}
void Avg(int sum, int max, int min, int len, float *avg)
{
*avg = (sum - max - min) * 1.0 / (len - 2);
}
int main()
{
int arr[5] = {90, 87, 92, 85, 88};
int len = sizeof(arr) / sizeof(arr[0]);
int min, max, sum;
float avg;
Min(arr, len, &min);
Max(arr, len, &max);
Sum(arr, len, &sum);
Avg(sum, max, min, len, &avg);
printf("The average score is: %.2f\n", avg);
return 0;
}
```
首先,我们定义了4个指针函数,分别用于求最小值、最大值、总和和平均值。其中,Min函数用于求最小值,通过传入数组指针arr、数组长度len和指向最小值的指针min,遍历数组并找到最小值,将其存储在min所指向的内存中。Max、Sum和Avg函数与Min函数类似,只是它们分别用于求最大值、总和和平均值,并将结果存储在指定的指针中。
在main函数中,我们定义一个包含5个元素的整数数组arr,并计算该数组的长度len。然后,分别调用Min、Max、Sum和Avg函数,对数组进行处理,并将结果存储在指定的变量中。最后,打印出平均值的结果。
阅读全文