题目:
本题要求实现一个函数,求N个集合元素S[]中的最大值,其中集合元素的类型为自定义的ElementType。
函数接口定义:
ElementType Max( ElementType S[], int N );
其中给定集合元素存放在数组S[]中,正整数N是数组元素个数。该函数须返回N个S[]元素中的最大值,其值也必须是ElementType类型。
题目给出的部分:
#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 )
{
ElementType max=S[0];//初始化
for (int i=1; i<N; i++)
{
if (S[i]>max)
max = S[i];
}
return max;
}
心得:
此题没有难度,但是做的时候出现了一个小错误,就是下标边界问题,注意是小于还是小于等于,这个坑一定要小心,一定要看输入数组的下标,细节决定成败!!!