请编写一个函数fun,它的功能是:计算n门课程的最高分,计算结果作为函数值返回

#include<stdio.h>
double fun(int a[],int n)
{ int b, i=0;
while(i<n)
{if(a[i]>a[i+1])
b=a[i+1];
else
b=a[i+1];
i++;}
return(b);
}

void main()
{
int c[5],i;double aver;
printf("请输入5门课成绩:");
for(i=0;i<5;i++)
scanf("%f",&c[i]);
aver=fun(c,5);
printf("所输入的所有成绩的最高分为:");
printf("%f",aver);
}
哪位大神帮帮我
这是 我写的为什么结果不对?
给给解释

第1个回答  2015-06-23
double fun(int a[],int n)
{
    int b = 0;
    for (int i = 0; i < n; i++)
        if (b < a[i])  // 你的写法 a[i+1] 会越界的
            b = a[i];
    return b;
}

本回答被网友采纳