昨天我们讲到过求自定类型元素的平均值,也就是用一个数组将所有元素存储起来。

然后遍历整个数组,把数组中的每个元素相加,最后除以数组元素的数量得到平均值。

那么今天这道题的要求呢,就是实现一个函数,求N个集合元素S[]中的最大值。

c语言运用函数找出最大值(C语言实现求元素的最大值)(1)

梳理逻辑

做编程题目之前,最重要的就是先梳理逻辑。

用一个数组S[]来存储N个元素,然后求最大值。

我们来思考这样一个问题,求最大值是不是需要每个元素进行比较。

那既然是数组中元素的比较,则需要遍历整个数组。

然后从第一个元素开始,一个一个元素进行比较,之后将大的元素的值赋给MAX。

最终得到的MAX的值即为最大值。

还需要注意:我们可以发现最终输出结果保留两位小数。

所以在定义MAX的时候,要定义成float,也就是浮点型。

c语言运用函数找出最大值(C语言实现求元素的最大值)(2)

代码实现

//求自定类型元素的最大值 #include <stdio.h> #define MAXN 10 typedef float ElementType; ElementType Max( ElementType S[], int N ); int main () { ElementType S[MAXN]; int N, i; scanf("%d", &N); for ( i=0; i<N; i ) scanf("%f", &S[i]); printf("%.2f\n", Max(S, N)); return 0; } ElementType Max( ElementType S[], int N ){ float MAX; int j=0; for(int i=0;i<N;i ){ if(S[i]>S[j]){ j = i; MAX = S[j]; } if(S[j]>=S[i]){ MAX = S[j]; } } return MAX; }

结果测试

c语言运用函数找出最大值(C语言实现求元素的最大值)(3)

c语言运用函数找出最大值(C语言实现求元素的最大值)(4)

总结

总的来说,像这类函数题的难度都不是很大,只要理顺逻辑,然后反推回去,就可以知道具体代码怎么写了。

,